]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDSimParam.h
implementation of summed charge (Xianguo)
[u/mrichter/AliRoot.git] / TRD / AliTRDSimParam.h
index 504016d8cd2c62af51f54166867e46afedb47324..60f596841ba92f06f184f866562f36925fbe2096 100644 (file)
@@ -22,9 +22,6 @@ class AliTRDSimParam : public TObject {
                , kNsect =  18
                , kNdet  = 540 };
 
-          enum { kXenon =   0
-              , kArgon =   1 };
-
   static  AliTRDSimParam *Instance();
   static  void     Terminate();
   
@@ -46,12 +43,11 @@ class AliTRDSimParam : public TObject {
           void     SetCrossTalk(Int_t ctOn = 1)              { fCTOn              = ctOn; ReInit();   }
           void     SetPadCoupling(Float_t v)                 { fPadCoupling       = v;                }
           void     SetTimeCoupling(Float_t v)                { fTimeCoupling      = v;                }
-          void     SetAnodeWireOffset(Float_t offset = 0.25) { fAnodeWireOffset   = offset;           }
           void     SetTimeStruct(Bool_t tsOn = 1)            { fTimeStructOn      = tsOn;             }
           void     SetPadResponse(Int_t prfOn = 1)           { fPRFOn             = prfOn;            }
-          void     SetXenon()                                { fGasMixture        = kXenon; ReInit(); }
-          void     SetArgon()                                { fGasMixture        = kArgon; ReInit(); }
-    
+          void     SetNTimeBins(Int_t ntb)                   { fNTimeBins         = ntb;              }
+          void     SetNTBoverwriteOCDB(Bool_t over = kTRUE)  { fNTBoverwriteOCDB  = over;             }
+
           Float_t  GetGasGain() const                        { return fGasGain;                       }
           Float_t  GetNoise() const                          { return fNoise;                         }
           Float_t  GetChipGain() const                       { return fChipGain;                      }
@@ -62,8 +58,8 @@ class AliTRDSimParam : public TObject {
           Float_t  GetTRFhi() const                          { return fTRFhi;                         }
           Float_t  GetPadCoupling() const                    { return fPadCoupling;                   }
           Float_t  GetTimeCoupling() const                   { return fTimeCoupling;                  }
-          Float_t  GetAnodeWireOffset() const                { return fAnodeWireOffset;               }
-          Int_t    GetGasMixture() const                     { return fGasMixture;                    }
+          Int_t    GetNTimeBins() const                      { return fNTimeBins;                     }
+          Bool_t   GetNTBoverwriteOCDB() const               { return fNTBoverwriteOCDB;              }
 
           Bool_t   DiffusionOn() const                       { return fDiffusionOn;                   }
           Bool_t   ElAttachOn() const                        { return fElAttachOn;                    } 
@@ -75,16 +71,13 @@ class AliTRDSimParam : public TObject {
 
           Double_t TimeResponse(Double_t time) const;  
           Double_t CrossTalk(Double_t time) const; 
-  
-          Bool_t   IsXenon() const                           { return (fGasMixture == kXenon) 
-                                                                    ? kTRUE : kFALSE;                 }
-          Bool_t   IsArgon() const                           { return (fGasMixture == kArgon) 
-                                                                    ? kTRUE : kFALSE;                 }
 
+          void     ReInit();
+  
  protected:
 
   static AliTRDSimParam* fgInstance;   //  Instance of this class (singleton implementation)
-  static  Bool_t   fgTerminated;       //  Defines if this class has already been terminated and
+  static Bool_t          fgTerminated; //  Defines if this class has already been terminated and
                                        //  therefore does not return instances in GetInstance anymore
   
           // Digitization parameter
@@ -111,14 +104,14 @@ class AliTRDSimParam : public TObject {
           Int_t    fCTOn;              //  Switch for cross talk
           Float_t *fCTsmp;             //! Integrated cross talk
   
-          Float_t  fAnodeWireOffset;   //  Distance of first anode wire from pad edge
           Float_t  fPadCoupling;       //  Pad coupling factor
           Float_t  fTimeCoupling;      //  Time coupling factor (image charge of moving ions)
           Int_t    fTimeStructOn;      //  Switch for cell time structure
   
           Int_t    fPRFOn;             //  Switch for the pad response
 
-          Int_t    fGasMixture;        //  Gas mixture: 0-Xe/C02 1-Ar/CO2. 
+          Int_t    fNTimeBins;         //  Number of time bins (only used it fNTBoverwriteOCDB = true)
+          Bool_t   fNTBoverwriteOCDB;  //  Switch to overwrite number of time bins from PCDB
 
  private:
 
@@ -127,10 +120,9 @@ class AliTRDSimParam : public TObject {
   virtual ~AliTRDSimParam();
 
           void Init();
-          void ReInit();
           void SampleTRF();
   
-  ClassDef(AliTRDSimParam,2)          // The TRD simulation parameters
+  ClassDef(AliTRDSimParam,6)          // The TRD simulation parameters
 
 };