00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef StFpdCollection_hh
00035 #define StFpdCollection_hh
00036 #include "StObject.h"
00037
00038 class StFpdCollection : public StObject {
00039 public:
00040 StFpdCollection();
00041 virtual ~StFpdCollection();
00042
00043
00044
00045 unsigned int numberOfADC() const;
00046 unsigned int numberOfTDC() const;
00047 unsigned int numberOfRegisters() const;
00048 unsigned int numberOfPedestal() const;
00049 unsigned int numberOfPMTpEEMC() const;
00050 unsigned int numberOfPMTPbg() const;
00051 unsigned int numberOfPMTSmdX() const;
00052 unsigned int numberOfPMTSmdY() const;
00053 unsigned int numberOfScalers() const;
00054
00055 unsigned short* adc();
00056 const unsigned short* adc() const;
00057 unsigned short* tdc();
00058 const unsigned short* tdc() const;
00059 unsigned short registers(unsigned int) const;
00060 unsigned short* pedestal();
00061 const unsigned short* pedestal() const;
00062 unsigned int scaler(unsigned int) const;
00063
00064 unsigned short north(unsigned int) const;
00065 unsigned short south(unsigned int) const;
00066 unsigned short top(unsigned int) const;
00067 unsigned short bottom(unsigned int) const;
00068 unsigned short smdx(unsigned int) const;
00069 unsigned short smdy(unsigned int) const;
00070 unsigned short pres1(unsigned int) const;
00071 unsigned short pres2(unsigned int) const;
00072 unsigned short southVeto() const;
00073
00074 unsigned int sumAdcNorth() const;
00075 unsigned int sumAdcSouth() const;
00076 unsigned int sumAdcTop() const;
00077 unsigned int sumAdcBottom() const;
00078 unsigned int sumAdcPreShower1() const;
00079 unsigned int sumAdcPreShower2() const;
00080 unsigned int sumAdcSmdX() const;
00081 unsigned int sumAdcSmdY() const;
00082
00083 void setAdc(unsigned int, unsigned short);
00084 void setTdc(unsigned int, unsigned short);
00085 void setRegister(unsigned int, unsigned short);
00086 void setPedestal(unsigned int, unsigned short);
00087 void setScaler(unsigned int, unsigned int);
00088
00089 unsigned int token() const;
00090 void setToken(unsigned int);
00091
00092 void dump();
00093
00094 protected:
00095 enum {mMaxAdc = 256,
00096 mMaxTdc = 8,
00097 mMaxRegisters = 3,
00098 mMaxPedestal = 256,
00099 mMaxPMTpEEMC = 12,
00100 mMaxPMTPbg = 16,
00101 mMaxPMTSmdX = 60,
00102 mMaxPMTSmdY = 100,
00103 mMaxScalers = 128};
00104
00105 UShort_t mAdc[mMaxAdc];
00106 UShort_t mTdc[mMaxTdc];
00107 UShort_t mReg[mMaxRegisters];
00108 UShort_t mPed[mMaxPedestal];
00109 UInt_t mScl[mMaxScalers];
00110 UShort_t mToken;
00111
00112 ClassDef(StFpdCollection,2)
00113 };
00114
00115 inline unsigned int
00116 StFpdCollection::numberOfADC() const {return mMaxAdc;}
00117
00118 inline unsigned int
00119 StFpdCollection::numberOfTDC() const {return mMaxTdc;}
00120
00121 inline unsigned int
00122 StFpdCollection::numberOfRegisters() const {return mMaxRegisters;}
00123
00124 inline unsigned int
00125 StFpdCollection::numberOfPedestal() const {return mMaxPedestal;}
00126
00127 inline unsigned int
00128 StFpdCollection::numberOfPMTpEEMC() const {return mMaxPMTpEEMC;}
00129
00130 inline unsigned int
00131 StFpdCollection::numberOfPMTPbg() const {return mMaxPMTPbg;}
00132
00133 inline unsigned int
00134 StFpdCollection::numberOfPMTSmdX() const {return mMaxPMTSmdX;}
00135
00136 inline unsigned int
00137 StFpdCollection::numberOfPMTSmdY() const {return mMaxPMTSmdY;}
00138
00139 inline unsigned int
00140 StFpdCollection::numberOfScalers() const {return mMaxScalers;}
00141
00142 inline unsigned int
00143 StFpdCollection::token() const {return mToken;}
00144
00145 #endif