StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtElectronCloud.hh
1 #ifndef STSVTELECTRONCLOUD_HH
2 #define STSVTELECTRONCLOUD_HH
3 
4 #include <Stiostream.h>
5 #include <stdlib.h>
6 #include <math.h>
7 #include "StObject.h"
8 
19 {
20 public:
23 
24  //routines to set
25  void setSiliconProp();
26  void setElectronLifeTime(double tLife);
27  void setDriftVelocity(double driftVel);
28  void setTrappingConst(double trapConst);
29  void setDiffusionConst(double diffConst);
30 
31  void setPar(double energy,double theta, double phi,double timeBinSize,int trackId);
32  void CalcExpansion(double mTc);
33  void runge_kutta4(int steps, double t0, double steplen,int save);
34  void adamsBushFort(int steps, double t0, double steplen);
35 
36  double getSigmaDrift();
37  double getSigmaAnode();
38  double getSigmaCorr();
39  double getSigmaMajor();
40  double getSigmaMinor();
41  double getPhi();
42  double getChargeAtAnode();
43  int getTrackId() const {return mTrackId;}
44  // double getTotCharge(){return mTotCharge;};
45 private:
46  void setInitWidths(double w1, double w2);
47 
48  double mSigX;
49  double mSigY ;
50  double mSigXY;
51 
52  double m_dSigX[4];
53  double m_dSigY[4];
54  double m_dSigXY[4];
55 
56  double mChargeNow;
57  double mTotCharge;
58 
59  double mEnergy;
60  double mTheta;
61  double mPhi;
62  double mInitPhi;
63 
64  double mDriftVel;
65  double mTimBinSize;
66 
67  double mSDD_thickness; // [mm]
68  double mInitHitSize; // [mm]
69  double mTrapConst;
70  double mDiffusionConst; // [mm**2/micro seconds] X and Y are calculated from this
71  double mDiffConstX; // [mm**2/micro seconds] in drift direction
72  double mDiffConstY; // [mm**2/micro seconds] in anode direction
73  double mSi_DielConst;
74  double mSi_EnergyGap;
75  double mPermitivity; // [e/(mm-V)]
76  double mSi_Mobility; // [mm**2/(V-micro seconds)]
77  double mLifeTime; // [micro seconds]
78  int mTrackId;
79  void CalculateDiffXY();
80  void GetDerivatives(double &dSx,double &dSy,double &dSxy,double SX,double SY,double SXY,double time);
81 
82  ClassDef(StSvtElectronCloud,1)
83 };
84 
85 #endif
SVT electron cloud expansion routines Simulates electron cloud expansion inside of the silicon wafer...