00001
00002
00003
00004
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
00035
00036 #ifndef STAR_StEmcHitCollection
00037 #define STAR_StEmcHitCollection
00038 #include "St_DataSet.h"
00039 #include "St_DataSetIter.h"
00040 #include "St_Table.h"
00041 #include "St_TableSorter.h"
00042 #include "StMaker.h"
00043 #include "StEmcUtil/geometry/StEmcGeom.h"
00044 #include "TArrayS.h"
00045 #include "TArrayF.h"
00046 #include "TArrayI.h"
00047 #include "tables/St_emc_hits_Table.h"
00048 #include "tables/St_emc_pedestal_Table.h"
00049 #include "tables/St_emc_adcslope_Table.h"
00050 #include "tables/St_emc_calib_header_Table.h"
00051
00052
00053
00054
00056
00057
00058
00060 class StEmcHitCollection : public St_DataSet , public StEmcGeom {
00061 private:
00062
00063 St_DataSet *mEmcCalib;
00064
00065 Int_t mNHit;
00066 TArrayS mId;
00067 TArrayF mEnergy;
00068
00069 Float_t mEnergySum;
00070 Float_t mEtSum;
00071
00072
00073 Int_t mModule;
00074 TArrayS mNumsModule;
00075 TArrayS mIndexFirstLast;
00076
00077 Int_t ADCtoEnergy(St_emc_hits*);
00078 protected:
00079 public:
00080 StEmcHitCollection();
00081 StEmcHitCollection(const Char_t* );
00082 virtual ~StEmcHitCollection();
00083
00084 Int_t NHit() const;
00085 Float_t EnergySum() const;
00086 Float_t EtSum() const;
00087 Float_t HitEnergy(Int_t );
00088 Int_t HitId(Int_t );
00089 TArrayF* Energy();
00090 TArrayS* Id();
00091
00092 Int_t Module();
00093 TArrayS* NumsModule();
00094 TArrayS* IndexFirstLast();
00095
00096 void setEmcCalib(St_DataSet *var);
00097 St_emc_hits *copyToTable(const Char_t*);
00098 void printHits(Int_t n=10, Int_t start=0);
00099 void printHitsAll();
00100 void Browse(TBrowser *b);
00101
00102
00103 void printNameTable();
00104
00105 Int_t fill(St_emc_hits*);
00106 ClassDef(StEmcHitCollection,1)
00107 };
00108
00109 inline void StEmcHitCollection::setEmcCalib(St_DataSet *var) {mEmcCalib = var;}
00110
00111 inline Int_t StEmcHitCollection::NHit() const {return mNHit;}
00112 inline Float_t StEmcHitCollection::EnergySum() const {return mEnergySum;}
00113 inline Float_t StEmcHitCollection::EtSum() const {return mEtSum;}
00114
00115 inline Float_t StEmcHitCollection::HitEnergy(Int_t i) {return mEnergy[i];}
00116 inline Int_t StEmcHitCollection::HitId(Int_t i) { return mId[i];}
00117 inline TArrayF* StEmcHitCollection::Energy() {return &mEnergy;}
00118 inline TArrayS* StEmcHitCollection::Id() {return &mId;}
00119
00120 inline Int_t StEmcHitCollection::Module() {return mModule;}
00121 inline TArrayS* StEmcHitCollection::NumsModule() {return &mNumsModule;}
00122 inline TArrayS* StEmcHitCollection::IndexFirstLast() {return &mIndexFirstLast;}
00123 #endif