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 #ifndef STAR_StSvtEmbeddingMaker
00036 #define STAR_StSvtEmbeddingMaker
00037
00038 #ifndef StMaker_H
00039 #include "StMaker.h"
00040 #endif
00041
00042
00043 class StSvtHybridData;
00044 class StSvtData;
00045 class StSvtHybridCollection;
00046 class StSvtHybridPixelsD;
00072 class StSvtEmbeddingMaker : public StMaker
00073 {
00074
00075 public:
00076 StSvtEmbeddingMaker(const char* name = "SvtEmbedding");
00077 virtual ~StSvtEmbeddingMaker();
00078
00079 virtual Int_t Init();
00080 virtual Int_t Make();
00081 virtual Int_t Finish();
00082 virtual Int_t InitRun(int runumber);
00083
00084 void setBackGround(Bool_t backgr,double backgSigma);
00085 void setDoEmbedding(Bool_t doIt);
00086 void SetPedRmsPreferences(Bool_t usePixelRMS, Bool_t useHybridRMS);
00087 void setPlainSimEvenIfNoSVT(Bool_t doIt);
00088
00089 private:
00090 Int_t GetSvtData();
00091 void ClearMask();
00092 void AddRawData();
00093 void CreateBackground();
00094 void ClearOutputData();
00095 Int_t NoSvt();
00096 double MakeGaussDev(double sigma);
00097
00098 StSvtData* mSimPixelColl;
00099 StSvtData* mRealDataColl;
00100 StSvtHybridCollection* mPedColl;
00101 StSvtHybridCollection* mPedRMSColl;
00102
00104 double mBackGSigma;
00105 Bool_t mBackGrOption;
00106 Bool_t mDoEmbedding;
00107 Bool_t mPlainSimIfNoSVT;
00108 Bool_t mUsePixelRMS;
00109 Bool_t mUseHybridRMS;
00110
00111 Bool_t mRunningEmbedding;
00112 Bool_t mMask[128*240];
00113
00114
00115 StSvtHybridPixelsD *mCurrentPixelData;
00116 int mCurrentIndex;
00117
00118 ClassDef(StSvtEmbeddingMaker,1)
00119
00120 };
00121
00122 #endif
00123
00124