00001 #ifndef __StEEmcCluster_h__ 00002 #define __StEEmcCluster_h__ 00003 00004 #include <TObject.h> 00005 #include <TVector3.h> 00006 #include "StEEmcTower.h" 00007 00008 class StEmcCluster; 00009 00010 class StEEmcCluster : public TObject { 00011 00012 public: 00013 00014 StEEmcCluster(); 00015 ~StEEmcCluster(); 00016 00020 void add( StEEmcTower, Float_t weight=1.0 ); 00021 00023 Float_t energy(); 00025 Float_t seedEnergy(); 00027 TVector3 momentum(); 00029 Int_t numberOfTowers(); 00031 StEEmcTower tower(Int_t t); 00032 StEEmcTower tower(Int_t t) const; 00033 00035 Float_t weight(Int_t t); 00037 StEEmcTowerVec_t towers(); 00038 00040 void momentum( TVector3 p); 00041 00045 StEmcCluster *stemc(); 00046 00047 void stemc(StEmcCluster *c){ mEmcCluster = c; } 00048 00049 Int_t key(){ return mKey; } 00050 void key(Int_t k){ mKey=k; } 00051 00052 Bool_t operator==( const StEEmcCluster &other ) const { return this->tower(0).index() == other.tower(0).index(); } 00053 00054 void print(); 00055 00056 private: 00057 protected: 00058 00059 Int_t mKey; 00060 00062 StEEmcTowerVec_t mTowers; 00063 std::vector<Float_t> mWeights; 00064 00066 Float_t mEnergy; 00068 TVector3 mMomentum; 00069 00070 StEmcCluster *mEmcCluster; 00071 00072 ClassDef(StEEmcCluster,1); 00073 00074 }; 00075 00076 inline Float_t StEEmcCluster::energy(){ return mEnergy; } 00077 inline Float_t StEEmcCluster::seedEnergy(){ return (mTowers.size())?mTowers[0].energy():0.; } 00078 00079 inline void StEEmcCluster::momentum(TVector3 p){mMomentum=p;} 00080 inline TVector3 StEEmcCluster::momentum(){ return mMomentum;} 00081 inline StEEmcTower StEEmcCluster::tower(Int_t t){ return mTowers[t]; } 00082 inline StEEmcTower StEEmcCluster::tower(Int_t t)const{ return mTowers[t]; } 00083 inline Int_t StEEmcCluster::numberOfTowers(){ return (Int_t)mTowers.size(); } 00084 inline StEEmcTowerVec_t StEEmcCluster::towers(){ return mTowers; } 00085 inline Float_t StEEmcCluster::weight( Int_t t ) { return mWeights[t]; } 00086 00087 typedef std::vector<StEEmcCluster> StEEmcClusterVec_t; 00088 00089 #endif
1.5.9