]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponse.h
Correct the number of buspatches for station 1 & 2 and for R2 & R3 type slat (Christian)
[u/mrichter/AliRoot.git] / ITS / AliITSresponse.h
index 862d65d10fe54dee6436519c602819111a105fc0..cbce9478f2b401375104153789c6d16fe37b391a 100644 (file)
@@ -27,15 +27,12 @@ class AliITSresponse : public TObject {
     //
     // Configuration methods
     //
-
-    // Set GeVcharge value (Default value is based on about 20,000 e- by a 
-    // mip (1.163E-4GeV) in 300 microns)
-    virtual void SetGeVToCharge(Double_t gc=1.719E+8){fGeVcharge = gc;}
+    // fGeVcharge is set by default 3.6e-9 GeV See for ex. PDG 2004.
+    virtual void SetGeVToCharge(Double_t gc=3.6e-9){fGeVcharge = gc;}
     // Returns the value fGeVcharge
     virtual Double_t GetGeVToCharge() const {return fGeVcharge;}
     // Converts deposited energy to number of electrons liberated
-    virtual Double_t GeVToCharge(Double_t gev) const {return gev*fGeVcharge;}
-
+    virtual Double_t GeVToCharge(Double_t gev) const {return gev/fGeVcharge;}
     // Diffusion coefficient
     virtual void    SetDiffCoeff(Double_t, Double_t) = 0;
     // Get diffusion coefficients
@@ -143,21 +140,36 @@ class AliITSresponse : public TObject {
     // electrons or holes through a distance l [cm] caused by an applied
     // voltage v [volt] through a distance d [cm] in any material at a
     // temperature T [degree K].
-    virtual Double_t SigmaDiffusion3D(Double_t  l) const ;
+    virtual Double_t SigmaDiffusion3D(Double_t  l) const;
     // Returns the Gaussian sigma == <x^2 +y^2+z^2> [cm^2] due to the
     // defusion of electrons or holes through a distance l [cm] caused by an
     // applied voltage v [volt] through a distance d [cm] in any material at a
     // temperature T [degree K].
-    virtual Double_t SigmaDiffusion2D(Double_t l) const ;
+    virtual Double_t SigmaDiffusion2D(Double_t l) const;
     // Returns the Gaussian sigma == <x^2+z^2> [cm^2] due to the defusion of
     // electrons or holes through a distance l [cm] caused by an applied
     // voltage v [volt] through a distance d [cm] in any material at a
     // temperature T [degree K].
-    virtual Double_t SigmaDiffusion1D(Double_t l) const ;
+    virtual Double_t SigmaDiffusion1D(Double_t l) const;
+    // Compute the thickness of the depleted region in a Si detector, version A
+    virtual Double_t DepletedRegionThicknessA(Double_t dopCons,
+                                              Double_t voltage,
+                                              Double_t elecCharge,
+                                              Double_t voltBuiltIn=0.5)const;
+    // Compute the thickness of the depleted region in a Si detector, version B
+    virtual Double_t DepletedRegionThicknessB(Double_t resist,Double_t voltage,
+                                              Double_t mobility,
+                                              Double_t voltBuiltIn=0.5,
+                                              Double_t dielConst=1.E-12)const;
+    // Computes the temperature dependance of the reverse bias current
+    virtual Double_t ReverseBiasCurrent(Double_t temp,Double_t revBiasCurT1,
+                                    Double_t tempT1,Double_t energy=1.2)const;
     // Prints out the content of this class in ASCII format.
     virtual void Print(ostream *os) const;
     // Reads in the content of this class in the format of Print
     virtual void Read(istream *is);
+    virtual void Print(Option_t *option="") const {TObject::Print(option);}
+    virtual Int_t Read(const char *name) {return TObject::Read(name);}
  protected:
     void NotImplemented(const char *method) const {if(gDebug>0)
          Warning(method,"This method is not implemented for this sub-class");}
@@ -168,14 +180,14 @@ class AliITSresponse : public TObject {
                    // the potential v is applied d/v [cm/volts]
     Double_t fN;   // the impurity consentration of the material in #/cm^3
     Double_t fT;   // The temperature of the Si in Degree K.
-    Double_t fGeVcharge; // Energy to ionize (free an electron).
+    Double_t fGeVcharge; // Energy to ionize (free an electron) in GeV
     TString  fFileName1;        // input keys : run, module #
     TString  fFileName2;        // baseline & noise val or output code
                                 // signal or monitored bgr.
     TString  fFileName3;        // param values or output coded signal
     Bool_t     fWrite;          // Write option for the compression algorithms
 
-    ClassDef(AliITSresponse,2) // Detector type response virtual base class 
+    ClassDef(AliITSresponse,3) // Detector type response virtual base class 
 };
 // Input and output function for standard C++ input/output.
 ostream& operator<<(ostream &os,AliITSresponse &source);