00001
00002
00003 #ifndef STAR_St_pp2pp_Maker
00004 #define STAR_St_pp2pp_Maker
00005
00018 #include "StRTSBaseMaker.h"
00019 #include "pp2ppHit_Cluster.h"
00020
00021 class TGenericTable;
00022 class StEvent;
00023 class StRpsCollection;
00024
00025 class pp2pp_t;
00026 class pp2ppOffset_st;
00027 class pp2ppZ_st;
00028
00029 class St_pp2pp_Maker : public StRTSBaseMaker {
00030
00031 public:
00032 enum {ErrorCode = -9999,
00033 kMAXSEC = 2 ,
00034 kMAXCHAIN = 4 ,
00035 kMAXSVX = 6 ,
00036 kMAXSEQ = 8 ,
00037 kMAXSTRIP = 128 } ;
00038
00039 private:
00040 StEvent *mEvent ;
00041
00042 typedef pair<Int_t, Double_t> HitChannel ;
00043
00044 vector<HitChannel> mValidHits[kMAXSEQ][kMAXCHAIN] ;
00045 static Bool_t hitcompare (HitChannel A,HitChannel B) { return (A.first<B.first); }
00046
00047
00048 Double_t mPedave[kMAXSEQ][kMAXCHAIN][kMAXSVX][kMAXSTRIP] ;
00049 Double_t mPedrms[kMAXSEQ][kMAXCHAIN][kMAXSVX][kMAXSTRIP] ;
00050
00051 unsigned char mRpStatus[kMAXSEQ] ;
00052
00053 Int_t mLastSvx;
00054 Int_t mLastChain;
00055 Int_t mLastSeq;
00056
00057 string mPedestalPerchannelFilename ;
00058 Int_t readPedestalPerchannel() ;
00059 Int_t readOffsetPerplane() ;
00060 Int_t readZPerplane() ;
00061 pp2ppOffset_st *mOffsetTable ;
00062 pp2ppZ_st *mZTable ;
00063
00064 UChar_t mSiliconBunch ;
00065
00066
00067
00068 Bool_t mLDoCluster;
00069
00070 public:
00071
00072 St_pp2pp_Maker(const char *name="PP2PP") ;
00073
00074 virtual ~St_pp2pp_Maker();
00075 virtual void Clear(Option_t *option="");
00076 virtual Int_t Init();
00077 virtual Int_t Make();
00078 virtual Int_t Finish();
00079
00080
00085 void SetPedestalFileName(const char* filename) { mPedestalPerchannelFilename = filename ; }
00086
00091 void DoClusterOrNot(Bool_t todo) { mLDoCluster = todo ; }
00092
00098 Int_t DoerPp2pp(const pp2pp_t &d, TGenericTable &hitsTable);
00099
00103 Int_t MakeClusters();
00104
00105 virtual Int_t InitRun (int runumber);
00106
00107
00109 virtual const char *GetCVS() const {
00110 static const char cvs[]="Tag $Name: $ $Id: St_pp2pp_Maker.h,v 1.12 2010/02/05 14:35:49 yipkin Exp $ built "__DATE__" "__TIME__ ;
00111 return cvs;
00112 }
00113
00114
00115
00116
00117 ClassDef(St_pp2pp_Maker,0)
00118
00119 };
00120
00121
00122 #endif
00123
00124