StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtSimulation.hh
1 #ifndef STSVTSIMULATION_HH
2 #define STSVTSIMULATION_HH
3 
4 /*
5 #include <iostream.h>
6 #include <fstream.h>
7 */
8 #include <Stiostream.h>
9 #include <math.h>
10 #include <stdlib.h>
11 
12 #include "StSvtElectronCloud.hh"
13 
14 class StSvtSignal;
15 class StSvtHybridPixelsD;
16 
17 #define SvtSim_MaxBufferSize 20
18 
20 {
21  int anode [SvtSim_MaxBufferSize]; //actual anode
22  double mPeak [SvtSim_MaxBufferSize];
23  double mTimeCenter[SvtSim_MaxBufferSize];
24  double mTimeWidth [SvtSim_MaxBufferSize];
25  double mUnderShoot[SvtSim_MaxBufferSize];
26  double mTempBuffer[SvtSim_MaxBufferSize][128];
27  double mCharge [SvtSim_MaxBufferSize];
28 };
29 
30 class StSvtSimulation:public TObject
31 {
32 public:
34  ~StSvtSimulation();
35 
36  void setOptions(int option);
37  void setElCloud(StSvtElectronCloud* elCloud);
38  void setAnodeTimeBinSizes(double timBinSize, double anodeSize);
39  void setDriftVelocity(double driftVelocity);
40  void setTrappingConst(double trapConst);
41  void setPasaSigAttributes(int pasaSigAttributes, int numOfAnodesPerHit=0);
42 
43  void doCloud(double time, double Energy,double mTheta,double mPhi,int trackId);
44  void fillBuffer(double mAnHit, double mTimeHit, StSvtHybridPixelsD *svtSimDataPixels);
45 
46  PasaSignalAttributes getPasaSigAttributes();
47  double getPeak();
48 
49 
50 private:
51 
52  void resetAnodeAttributes();
53  void resetBuffer();
54 
55  int mNumOfAnodesPerHit;
56  int mUpperAn;
57  int mLowerAn;
58 
59  int mPasaDebug; //for debugging
60 
61  double mTimeBinSize;
62  double mAnodeSize;
63  double mDriftVelocity;
64  int mSignalOption;
65  double mPeakSignal;
66 
67  StSvtElectronCloud* mElectronCloud;
68  StSvtSignal* mSvtSignal;
69 
70  //structure used for debugging
71  PasaSignalAttributes mPasaSignals;
72 
73  ClassDef(StSvtSimulation,2)
74 
75 };
76 
77 inline PasaSignalAttributes StSvtSimulation::getPasaSigAttributes(){return mPasaSignals;}
78 inline double StSvtSimulation::getPeak(){return mPeakSignal;}
79 
80 #endif
SVT electron cloud expansion routines Simulates electron cloud expansion inside of the silicon wafer...