StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtEmbeddingMaker.h
1 /***************************************************************************
2  *
3  * $Id: StSvtEmbeddingMaker.h,v 1.9 2007/07/12 20:18:18 fisyak Exp $
4  *
5  * Author: Selemon Bekele
6  ***************************************************************************
7  *
8  * Description: Svt Embedding Maker class
9  *
10  ***************************************************************************
11  *
12  * $Log: StSvtEmbeddingMaker.h,v $
13  * Revision 1.9 2007/07/12 20:18:18 fisyak
14  * read Db by deman
15  *
16  * Revision 1.8 2004/07/09 00:17:45 caines
17  * Code no longer kill code is things go wrong, also by default dont do anthing if SVT not there
18  *
19  * Revision 1.5 2004/02/24 15:53:21 caines
20  * Read all params from database
21  *
22  * Revision 1.4 2004/01/22 16:30:47 caines
23  * Getting closer to a final simulation
24  *
25  * Revision 1.3 2003/11/30 20:51:48 caines
26  * New version of embedding maker and make OnlSeqAdj a stand alone maker
27  *
28  * Revision 1.2 2003/09/10 19:47:37 perev
29  * ansi corrs
30  *
31  * Revision 1.1 2003/07/31 19:18:09 caines
32  * Petrs improved simulation code
33  *
34  **************************************************************************/
35 #ifndef STAR_StSvtEmbeddingMaker
36 #define STAR_StSvtEmbeddingMaker
37 
38 #ifndef StMaker_H
39 #include "StMaker.h"
40 #endif
41 
42 
43 class StSvtHybridData;
44 class StSvtData;
46 class StSvtHybridPixelsD;
73 {
74 
75 public:
76  StSvtEmbeddingMaker(const char* name = "SvtEmbedding");
77  virtual ~StSvtEmbeddingMaker();
78 
79  virtual Int_t Init();
80  virtual Int_t Make();
81  virtual Int_t Finish();
82  virtual Int_t InitRun(int runumber);
83 
84  void setBackGround(Bool_t backgr,double backgSigma); //default is TRUE and 1.8
85  void setDoEmbedding(Bool_t doIt); //this allows(when set to FALSE) to force the embedding maker to ignore raw data
86  void SetPedRmsPreferences(Bool_t usePixelRMS, Bool_t useHybridRMS); // allows to disable reading RMS from database
87  void setPlainSimEvenIfNoSVT(Bool_t doIt); //and create simple background -just a plain simulation; default is TRUE
88 
89 private:
90  Int_t GetSvtData();
91  void ClearMask();
92  void AddRawData();
93  void CreateBackground();
94  void ClearOutputData();
95  Int_t NoSvt();
96  double MakeGaussDev(double sigma);
97 
98  StSvtData* mSimPixelColl;
99  StSvtData* mRealDataColl;
100  StSvtHybridCollection* mPedColl;
101  StSvtHybridCollection* mPedRMSColl;
102 
104  double mBackGSigma;
105  Bool_t mBackGrOption; //shell I generate background
106  Bool_t mDoEmbedding;
107  Bool_t mPlainSimIfNoSVT;
108  Bool_t mUsePixelRMS;
109  Bool_t mUseHybridRMS;
110 
111  Bool_t mRunningEmbedding;
112  Bool_t mMask[128*240];
113 
114  //global variables for temporary store in the loop
115  StSvtHybridPixelsD *mCurrentPixelData;
116  int mCurrentIndex;
117 
118  ClassDef(StSvtEmbeddingMaker,1)
119 
120 };
121 
122 #endif
123 
124 
virtual Int_t InitRun(int runumber)
All database dependent data are read here.
This maker is resposible for embedding SVT response simulation into the SVT real data and/or creation...
StSvtEmbeddingMaker(const char *name="SvtEmbedding")