CREAM TEA -- ROOT MCP

TargetData.h

00001 #ifndef TARGETDATA_H
00002 #define TARGETDATA_H
00003 #include "Defs.h"
00004 #include "TObject.h"
00005 #include "RawTargetData.h"
00006 #include "TGraph.h"
00007 
00008 
00009 class TargetData: public RawTargetData
00010 {
00011  public:
00012   TargetData();
00013   TargetData(RawTargetData *rawData);
00014   TargetData(unsigned short rawData[BUFFERSIZE]);
00015   ~TargetData();  
00016   void unpackData();
00017 
00018   //extracted values 
00019   unsigned int memAddrSpace [NUM_TARGETS];
00020   unsigned int rowLoc[NUM_TARGETS];
00021   unsigned int colLoc[NUM_TARGETS];
00022   unsigned int pixLoc[NUM_TARGETS];
00023   unsigned int hitBit[NUM_TARGETS];
00024   unsigned int data[NUM_TARGETS][NUM_CHANNELS][SAMPLES_PER_COL]; 
00025   float scaler[NUM_TARGETS][3];//Hz
00026   unsigned int thresh[NUM_TARGETS];
00027   float rovdd[NUM_TARGETS];//volts
00028   unsigned int wbias[NUM_TARGETS];
00029   unsigned int feedback[NUM_TARGETS];
00030   unsigned int sign[NUM_TARGETS];  
00031   unsigned int pedRowAddr[NUM_TARGETS];  
00032   unsigned int pedColAddr[NUM_TARGETS];  
00033   unsigned int term[NUM_TARGETS];  
00034   unsigned int enPed[NUM_TARGETS];  
00035   float temperature[NUM_TARGETS];//degree C
00036 
00037   //This is ridiculous I will RSN (real soon now) move to a calibrated and uncalibrated system, but for now I'll be lazy;
00038   Float_t fVoltBuffer[NUM_TARGETS][NUM_CHANNELS][SAMPLES_PER_COL];
00039   
00040   TGraph *getChannel(Int_t chanInd) 
00041   { 
00042     return getChannel(chanInd/NUM_CHANNELS,
00043                       chanInd%NUM_CHANNELS);
00044   }
00045   TGraph *getChannel(Int_t chip, Int_t channel);
00046  private:
00047   void unpackMemAddrSpace();
00048   void unpackFeedback();
00049   ClassDef(TargetData,1);
00050 };
00051 
00052 #endif /* TARGETDATA_H */

Generated on Tue Nov 24 19:05:00 2009 for CREAM TEA -- MCP/TARGET Readout by doxygen 1.3.9.1