Dioda
class description - source file - inheritance tree
private:
Double_t dEdx(Double_t)
Float_t dEX(Double_t, Double_t*, Double_t*, Double_t = 0.5)
Float_t PoEqSolve(Float_t)
void rk4(float*, float*, int, float, float, float*)
Float_t rtbis(float, float, float)
public:
Dioda(const Dioda&)
Dioda(TF1*, Float_t = 50, Int_t = 50, Int_t = 301)
virtual ~Dioda()
void Alpha(Float_t, Float_t, Float_t*)
void CalM(DStruct*, Double_t*)
static TClass* Class()
void Derivs(float x, float*, float*)
virtual TGraph* Draw(char*)
void Drift(Double_t sx, Double_t sy, Float_t charg, DStruct* seg, Int_t = 0, Float_t = 0)
void GetField()
void GetField(TF1*)
void GetRamoField()
void GetRamoField(TH1F* rf)
Float_t GetVoltage()
virtual TClass* IsA() const
void LaserV(Float_t*, Float_t*, Int_t, Float_t = 3.3)
void MipIR(Float_t*, Float_t*, Int_t)
void ResetRnd(Int_t seed)
void SetVoltage(Float_t V)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
Int_t nx Width Of The Doide
Int_t ny Thickness Of The Doide
Float_t Voltage Voltage
TF1* Neff effective dopping concentration
TRandom* ran
public:
EField Real electric field
EField Ramo weighting field
TArrayF PhyPot electric potential
TArrayF PhyField electric field
TH1F* pos contribution of the holes to the total drift current
TH1F* neg contribution of the electrons to the total drift current
TH1F* sum total drift current
Trap* et Trapping for electrons
Trap* ht Trapping for holes
Int_t udregion
Int_t diff Diffusion simulation (yes=1, no=0)
Int_t MobMod Mobility Model
Int_t average Average (over how many events)
Float_t Temperature Temperature
Int_t trapping Trapping simulation (yes=1, no=0)
Float_t B Magnetic field;
Int_t material material index - material=0 silicon, material = 1 diamond
Int_t Multiplication
Dioda( TF1 *x0, Float_t x1,Int_t x2,Int_t x3)
Constructor of the class Dioda:
TF1 *x0 ; distribution of the Neff(x) given in 10**12! Note that p+ contact starts with x=301 and n+ at x=1
Int_t x1 ; voltage applied in reverse direction
Int_t x2 ; width of the diode in um. For the simulation it is not neccessary to put real dimensions
Int_t x3 ; thickness in um
Float_t rtbis(float x1, float x2, float xacc)
void rk4(float y[], float dydx[], int n, float x, float h, float yout[])
~Dioda()
void Derivs(float x,float y[],float dydx[])
Float_t PoEqSolve(Float_t der)
TArrayF PhyField(ny+2);
TArrayF PhyPot(ny+2);
void GetRamoField()
void GetRamoField(TH1F *rf)
Change made by GK on 16.10.2002
void GetField()
void GetField(TF1 *potential)
Set the field as defined in the potential function.
TGraph* Draw(char *option)
Draws potential "p" or electric field "f"
void Drift(Double_t sx, Double_t sy,Float_t charg,DStruct *seg,Int_t MobMod,Float_t t0)
Drift simulation for a point charge (charg)
starting from ( sx,sy)
DStruct *seg is the structure where the the drift paths, drift times and induced cahrges are stored
Int_t MobMod; mobility model
Float_t B; magnetic field
Float_t t0=start time ;
void MipIR(float *enp, float *exp, int div)
The simulation of the drift for the minimum ionizing particles.
A track is devided into Int_ div buckets. Each bucket is drifted in the field. The
induced currents for each carrier is calculated as the sum all buckets.
Int_t MobMod; mobility model
Float_t B; magnetic field
void LaserV(float *enp, float *exip, int div,Float_t lambda)
The simulation of the drift for the red laser illumination!
A penetration profile is devided into Int_ div buckets. Each bucket is drifted in the field. The
induced currents for each carrier is calculated as the sum all buckets.
Double_t dEdx(Double_t E)
Float_t dEX(Double_t E,Double_t *x, Double_t *y,Double_t eps)
void Alpha(Float_t E, Float_t Angle, Float_t *enp)
The simulation of the drift for the minimum ionizing particles.
A track is devided into Int_ div buckets. Each bucket is drifted in the field. The
induced currents for each carrier is calculated as the sum all buckets.
Int_t MobMod; mobility model
Float_t B; magnetic field
void CalM(DStruct *seg, Double_t *data)
Inline Functions
void SetVoltage(Float_t V)
void ResetRnd(Int_t seed)
Float_t GetVoltage()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Dioda Dioda(const Dioda&)
Last update: Tue Jul 28 11:03:18 2009
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.