00001
00023 #ifndef STAR_StEmcMixerMaker
00024 #define STAR_StEmcMixerMaker
00025 #include "StMaker.h"
00026 #include "StMessMgr.h"
00027 #include <TH1.h>
00028 #include <TH2.h>
00029
00030 #define NDETECTORS 4
00031 #define NMODULES 120
00032 #define MAXCHANNELS 18000
00033 #define EMCCHANNELS 4800
00034 #define SMDCHANNELS 18000
00035
00036
00037 class StEvent;
00038 class StEmcGeom;
00039 class StEmcRawHit;
00040
00041 class StEmcMixerMaker : public StMaker
00042 {
00043 private:
00044 StEvent *mEvent1;
00045 StEvent *mEvent2;
00046 StEmcGeom *mGeom[NDETECTORS];
00047
00048 Int_t mStatus[NDETECTORS][MAXCHANNELS];
00049
00050 Bool_t mClear;
00051 Bool_t mAddHits;
00052 Bool_t mUseDB;
00053 Bool_t mFakeTrackEmbed;
00054 Bool_t mEmbedAll;
00055
00056 TH1F *m_hit_1;
00057 TH1F *m_hit_2;
00058 TH1F *m_edep_1;
00059 TH1F *m_edep_2;
00060
00061 Int_t mEvent1Source;
00062 Int_t mEvent2Source;
00063
00064 virtual Int_t addHits();
00065 virtual Int_t addTracks();
00066 void clearPoints();
00067 void clearClusters();
00068 Bool_t getEvents();
00069 void getDB();
00070 Bool_t checkHit(Int_t, StEmcRawHit*);
00071
00072 protected:
00073
00074 public:
00075
00076 StEmcMixerMaker(const char *name="emcEmbed");
00077 virtual ~StEmcMixerMaker();
00078 virtual Int_t Init();
00079 virtual Int_t Make();
00080 virtual Int_t Finish();
00081
00082 void printHits(StEvent*);
00083
00084 void setClear(Bool_t a) { mClear = a; }
00085 void setAddFlag(Bool_t a) { mAddHits = a; }
00086 void setFakeTrack(Bool_t a) { mFakeTrackEmbed = a; }
00087 void setEmbedAll(Bool_t a) { mEmbedAll = a; }
00088 void setPrint(Bool_t a) { LOG_INFO << "::setPrint() is obsolete. Use logger config file to set verbosity instead." << endm; }
00089
00090 virtual const char *GetCVS() const {static const char cvs[]="Tag $Name: $ $Id: StEmcMixerMaker.h,v 1.5 2007/01/22 19:13:34 kocolosk Exp $ built "__DATE__" "__TIME__ ; return cvs;}
00091
00092 ClassDef(StEmcMixerMaker,0)
00093 };
00094 #endif
00095
00096
00097
00098
00099
00100
00101
00102