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
1.3.9.1