]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSsimulationSSD.h
TRD nSigma OADB related new codes and modifications and OADB root file -- Xianguo Lu
[u/mrichter/AliRoot.git] / ITS / AliITSsimulationSSD.h
index 532050710dfaf6e65daa7bea1795cd9203f202e2..3f032cb3aa61682f509f51781d612b5d53e0f4d7 100644 (file)
@@ -18,6 +18,7 @@ class AliITSTableSSD;
 //class AliITSdcsSSD;
 class AliITSsegmentationSSD;
 class AliITSCalibrationSSD;
+class TF1;
 
 class AliITSsimulationSSD: public AliITSsimulation {
 
@@ -26,7 +27,7 @@ class AliITSsimulationSSD: public AliITSsimulation {
     AliITSsimulationSSD(const AliITSsimulationSSD &source); // copy constructor
     // operator =
     AliITSsimulationSSD& operator=(const AliITSsimulationSSD &source);
-    virtual AliITSsimulation& operator=(const AliITSsimulation &source);
+    //    virtual AliITSsimulation& operator=(const AliITSsimulation &source);
     //Standard Constructor
     AliITSsimulationSSD(AliITSDetTypeSim* dettyp);
     //Destructor
@@ -71,6 +72,19 @@ class AliITSsimulationSSD: public AliITSsimulation {
     //Sets the Drift velocity for the P and N sides
     void SetDriftVelocity(Double_t v0=0.86E+06,Double_t v1=2.28E+06)
        {fDriftVel[0] = v0;fDriftVel[1] = v1;}
+
+
+    //  Decide whether to use or not the Lorentz drift 
+    void SetLorentzDrift(Bool_t b=kFALSE)
+      {fLorentz=b; if(fLorentz) SetTanLorAngle();};
+    // Set the Lorentz angles
+    Bool_t SetTanLorAngle();
+    // Getter for the Lorentz angles
+    Double_t GetTanLorAngleP() const {return fTanLorAngP;};
+    Double_t GetTanLorAngleN() const {return fTanLorAngN;};
+    //
+
+
     // Standard ascii class print function
     void Print(ostream *os);
     // Standard ascii class read function
@@ -96,7 +110,7 @@ class AliITSsimulationSSD: public AliITSsimulation {
     void GetList(Int_t trk,Int_t ht,Int_t mod,AliITSpList *pLt,
                 AliITSTableSSD *tav);
     // sets thresholds and fills digits
-    void ChargeToSignal(Int_t module,AliITSpList *pList);
+    void ChargeToSignal(Int_t module,const AliITSpList *pList);
     // Writes Summable Digits to a root file for later use.
     void WriteSDigits(AliITSpList *pList);
     // ReadSDigits and create Digits
@@ -125,7 +139,14 @@ class AliITSsimulationSSD: public AliITSsimulation {
     Double_t    fDifConst[2]; // Diffusion constants [h,e] in cm**2/sec
     Double_t    fDriftVel[2]; // Drift velocities [P,N sides] cm/sec
 
-    ClassDef(AliITSsimulationSSD,2) // SSD signal simulation class
+    TF1         *fTimeResponse; // signal time response function
+
+   Bool_t        fLorentz;      // kTRUE if Lorentz drift has been allowed 
+   Double_t      fTanLorAngP;    //! Tangent of the Lorentz Angle for holes 
+   Double_t      fTanLorAngN;    //! Tangent of the Lorentz Angle for electrons
+
+
+    ClassDef(AliITSsimulationSSD,3) // SSD signal simulation class
 
 };
 // Input and output functions for standard C++ input/output.