00001 #ifndef __StEEmcTower_h__ 00002 #define __StEEmcTower_h__ 00003 00004 #include "StEEmcElement.h" 00005 00006 #include <vector> 00007 00008 class StEEmcTower; 00009 00010 typedef std::vector<StEEmcTower*> StEEmcTowerPtrVec_t; 00011 00012 class StEEmcTower : public StEEmcElement { 00013 00014 public: 00015 00016 StEEmcTower(); 00017 ~StEEmcTower(){ /* nada */ }; 00018 00020 StEEmcTower( const StEEmcTower &other ); 00021 00026 void index(Int_t i); 00028 void layer(Int_t l); 00031 void et(Float_t e); 00032 00034 Int_t index(); 00036 Int_t layer(); 00038 Int_t sector(); 00040 Int_t subsector(); 00042 Int_t etabin(); 00044 Int_t phibin(); 00046 Float_t et(); 00047 00049 void neighbor(StEEmcTower *n); 00051 Int_t numberOfNeighbors(); 00053 StEEmcTower neighbor(Int_t i); 00054 00057 Bool_t isNeighbor( StEEmcTower t ); 00058 00059 00061 void print(); 00062 void printLine(); 00063 00064 Bool_t operator<( const StEEmcTower &other ) const { return (this->energy() < other.energy()); } 00065 00066 private: 00067 protected: 00068 00069 Int_t mIndex; 00070 Int_t mLayer; 00071 Int_t mSector; 00072 Int_t mSubsector; 00073 Int_t mEtabin; 00074 Int_t mPhibin; 00075 00076 Float_t mET; 00077 00078 StEEmcTowerPtrVec_t mNeighbors; 00079 00080 ClassDef(StEEmcTower,1); 00081 00082 }; 00083 00084 inline void StEEmcTower::layer(Int_t l){mLayer=l;} 00085 00086 inline Int_t StEEmcTower::index(){return mIndex;} 00087 inline Int_t StEEmcTower::layer(){return mLayer;} 00088 inline Int_t StEEmcTower::sector(){return mSector;} 00089 inline Int_t StEEmcTower::subsector(){return mSubsector;} 00090 inline Int_t StEEmcTower::etabin(){return mEtabin;} 00091 inline Int_t StEEmcTower::phibin(){return mPhibin;} 00092 00093 inline void StEEmcTower::neighbor(StEEmcTower *t){mNeighbors.push_back(t);} 00094 inline StEEmcTower StEEmcTower::neighbor(Int_t i){ return *mNeighbors[i]; } 00095 inline Int_t StEEmcTower::numberOfNeighbors(){ return (Int_t)mNeighbors.size();} 00096 00097 inline void StEEmcTower::et(Float_t e){mET=e;} 00098 inline Float_t StEEmcTower::et(){return mET;} 00099 00100 typedef std::vector<StEEmcTower> StEEmcTowerVec_t; 00101 00102 #endif
1.5.9