00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __StEEmcDataDrivenMcReplaceInfo_h__
00010 #define __StEEmcDataDrivenMcReplaceInfo_h__
00011
00012 #include "TClonesArray.h"
00013 #include "TVector3.h"
00014
00015 #include "StMcCalorimeterHit.hh"
00016
00017 class StEEmcDataDrivenMcReplaceInfo : public TObject {
00018 public:
00019 enum { numEemcTowerLayers = 6 };
00020
00021 StEEmcDataDrivenMcReplaceInfo();
00022 virtual ~StEEmcDataDrivenMcReplaceInfo() {}
00023
00024 void Clear(Option_t* options = "");
00025
00026 int pid;
00027 int parentPid;
00028 int firstHadronPid;
00029 int libraryShapeId;
00030 TVector3 momentum;
00031 float energy;
00032 float energyScaleU;
00033 float energyScaleV;
00034 int highStripShiftU;
00035 int highStripShiftV;
00036 int libraryBinId;
00037
00038 int nTowerFired[numEemcTowerLayers];
00039 float dEnergy[numEemcTowerLayers];
00040 float totalEnergy[numEemcTowerLayers];
00041 float totalEnergyScaled[numEemcTowerLayers];
00042
00043 StMcCalorimeterHit* newMcHitEsmdU();
00044 StMcCalorimeterHit* addMcHitEsmdU(StMcCalorimeterHit *hit);
00045 StMcCalorimeterHit* getMcHitEsmdU(int i) { return (StMcCalorimeterHit*)mMcHitsEsmdU->At(i); }
00046 int getNumberOfMcHitsEsmdU() { return mMcHitsEsmdU->GetEntriesFast(); }
00047
00048 StMcCalorimeterHit* newMcHitEsmdV();
00049 StMcCalorimeterHit* getMcHitEsmdV(int i) { return (StMcCalorimeterHit*)mMcHitsEsmdV->At(i); }
00050 StMcCalorimeterHit* addMcHitEsmdV(StMcCalorimeterHit *hit);
00051 int getNumberOfMcHitsEsmdV() { return mMcHitsEsmdV->GetEntriesFast(); }
00052
00053 private:
00054 void InitArrays();
00055
00056 TClonesArray* mMcHitsEsmdU;
00057 TClonesArray* mMcHitsEsmdV;
00058
00059 ClassDef(StEEmcDataDrivenMcReplaceInfo,1);
00060 };
00061
00062 #endif