00001 #ifndef ZTR_TRawTower 00002 #define ZTR_TRawTower 00003 #include "TClonesArray.h" 00004 #include "TRawCrystal.h" 00005 #include "TRawTriggerChannel.h" 00006 00007 class TRawTower : public TObject { 00008 00009 protected: 00010 00011 Int_t fN; //Tower number 00012 Short_t fNRose; //Rose number for that tower 00013 Short_t fNChRose; //Rose channel number for that tower 00014 Int_t fTowerHeader[4]; //Tower Header words (3 needed) 00015 Int_t fStripHeader[5]; //Strip Header words 00016 00017 void Init(); 00018 00019 public: 00020 00021 Int_t fNCrystal; //Number of TRawCrystal objects in fCrystalsRaw 00022 // TRawCrystal fCrystalsRaw[N_CRYSINTOWER]; //->Collection of TRawCrystal objects 00023 TRawCrystal fCrystalsRaw[25]; //->Collection of TRawCrystal objects 00024 TRawTriggerChannel fRawTriggerChannel; 00025 00026 static Int_t fgNTowers; //Actual number of towers 00027 00028 // static TClonesArray *fgCrystalsRaw[N_TOWERS]; //static version of fCrystalsRaw for all TRawTowers; 00029 00030 TRawTower(); 00031 TRawTower(Int_t,Short_t,Short_t); 00032 virtual ~TRawTower() {} 00033 //TRawCrystal *AddCrystal(Int_t h, Int_t s[]); 00034 virtual void Clear(const char *opt=""); 00035 Int_t GetN() { return fN; } 00036 Int_t GetTowerHeader(Short_t j) { return fTowerHeader[j]; } 00037 Int_t GetStripHeader(Short_t j) { return fStripHeader[j]; } 00038 TRawCrystal *GetCrystal(Short_t n) { return &fCrystalsRaw[n]; } 00039 void SetHeaders( Int_t*, Int_t* ); 00040 void SetRoseInfo( Short_t, Short_t ); 00041 Short_t GetNRose() { return fNRose; } 00042 Short_t GetNChRose() { return fNChRose; } 00043 virtual void Print(const char *opt="") const; 00044 void SetN(Int_t n) { fN = n; } 00045 //void SetCrystalsRaw(Short_t j) { fCrystalsRaw = fgCrystalsRaw[j]; } 00046 void FillCrystalData( Int_t, Int_t, Int_t* ); 00047 ClassDef(TRawTower,2) //Tower of 25 crystals 00048 }; 00049 #endif