15 #ifndef _ST_EEMC_HIT_H_
16 #define _ST_EEMC_HIT_H_
22 #include "StSimpleHit.h"
28 typedef std::vector< StEEmcHit_t > StEEmcHitVec_t;
29 typedef std::vector< StEEmcHit_t* > StEEmcHitPtrVec_t;
40 StEEmcHit_t( Short_t ID_in = -1 ) :
StSimpleHit_t( ID_in ), mSector(-1), mClusIDu(-1), mClusIDv(-1), mTowerIdx(-1), mEnergyU(-1), mEnergyV(-1),
41 mTtest2(1e100), mWeightU(1), mWeightV(1), mIsValid(1) { };
48 Short_t getSector()
const {
return mSector; };
49 Short_t getClusIDu()
const {
return mClusIDu; };
50 Short_t getClusIDv()
const {
return mClusIDv; };
51 Int_t getTowerIdx()
const {
return mTowerIdx; };
52 Float_t getEnergyU()
const {
return mEnergyU; };
53 Float_t getEnergyV()
const {
return mEnergyV; };
54 Float_t getTtest2()
const {
return mTtest2; };
55 Float_t getWeightU()
const {
return mWeightU; };
56 Float_t getWeightV()
const {
return mWeightV; };
57 Bool_t isValid()
const {
return mIsValid; };
62 Short_t getSectorU()
const {
return mSector; };
63 Short_t getSectorV()
const {
return mSector; };
66 Short_t getUseTowerIndex( Int_t localIndex )
const {
return mUsedTowerIndices.At( localIndex ); };
67 Float_t getUseTowerWeight( Int_t localIndex )
const {
return mUsedTowerWeights.At( localIndex ); };
70 void setSector( Short_t sec ){ mSector = sec; };
71 void setClusIDu( Short_t idx ){ mClusIDu = idx; };
72 void setClusIDv( Short_t idx ){ mClusIDv = idx; };
73 void setTowerIdx( Int_t idx ){ mTowerIdx = idx; };
74 void setEnergyU( Float_t E ) { mEnergyU = E; };
75 void setEnergyV( Float_t E ) { mEnergyV = E; };
76 void setWeightU( Float_t E ) { mWeightU = E; };
77 void setWeightV( Float_t E ) { mWeightV = E; };
78 void setIsValid( Bool_t isValid ){ mIsValid = isValid; };
79 void setNumUsedTowers( UInt_t n );
80 void addUsedTower( Int_t localIndex, Short_t towIndex, Float_t weight );
81 void setUsedTowers( std::vector< Short_t >& usedIndices, std::vector< Float_t >& weights );
85 void computeTtest2() {
86 mTtest2 = ( mEnergyU - mEnergyV ) / ( mEnergyU + mEnergyV );
95 Short_t mClusIDu, mClusIDv;
97 Float_t mEnergyU, mEnergyV, mTtest2, mWeightU, mWeightV;
102 TArrayF mUsedTowerWeights;
110 std::ostream &operator<<( std::ostream &out,
const StEEmcHit_t &
hit );
TArrayS mUsedTowerIndices
just a flag whether to keep in vector