]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDSimParam.h
next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / TRD / AliTRDSimParam.h
index 102828c067dfd1e8755c88c1795ccccb75e1b483..60f596841ba92f06f184f866562f36925fbe2096 100644 (file)
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Class containing constant simulation parameters                           //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
-
 /* $Id$ */
 
+////////////////////////////////////////////////////////////////////////////
+//                                                                        //
+// Class containing constant simulation parameters                        //
+//                                                                        //
+////////////////////////////////////////////////////////////////////////////
+
 #include "TObject.h"
 
-class AliTRDSimParam : public TObject
-{
+class AliTRDSimParam : public TObject {
   
-public:
-  static AliTRDSimParam* Instance();
-  static void Terminate();
+ public:
   
-  enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
+          enum { kNplan =   6
+               , kNcham =   5
+               , kNsect =  18
+               , kNdet  = 540 };
+
+  static  AliTRDSimParam *Instance();
+  static  void     Terminate();
   
   AliTRDSimParam(const AliTRDSimParam &p);   
   AliTRDSimParam &operator=(const AliTRDSimParam &p); 
-  virtual void Copy(TObject &p) const;
-  
-  void SetGasGain(Float_t gasgain)                    { fGasGain        = gasgain;  };
-  void SetNoise(Float_t noise)                        { fNoise          = noise;    };
-  void SetChipGain(Float_t chipgain)                  { fChipGain       = chipgain; };
-  
-  void SetADCoutRange(Float_t range)                  { fADCoutRange    = range;    };
-  void SetADCinRange(Float_t range)                   { fADCinRange     = range;    };
-  void SetADCthreshold(Int_t thresh)                  { fADCthreshold   = thresh;   };
-  void SetADCbaseline(Int_t basel)                    { fADCbaseline    = basel;    };   
-  
-  void SetDiffusion(Int_t diffOn = 1)                 { fDiffusionOn    = diffOn;   };
-  
-  void SetElAttach(Int_t elOn = 1)                    { fElAttachOn     = elOn;     };
-  void SetElAttachProp(Float_t prop)                  { fElAttachProp   = prop;     };
-  
-  void SetTimeResponse(Int_t trfOn = 1)               { fTRFOn          = trfOn; ReInit(); };
-  
-  void SetCrossTalk(Int_t ctOn = 1)                   { fCTOn           = ctOn; ReInit(); };
-  
-  void SetTailCancelation(Int_t tcOn = 1)             { fTCOn           = tcOn;     };
-  void SetNexponential(Int_t nexp)                    { fTCnexp         = nexp;     };
-  
-  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;    };
-    
-  Float_t  GetGasGain()                             const { return fGasGain;           };
-  Float_t  GetNoise()                               const { return fNoise;             };
-  Float_t  GetChipGain()                            const { return fChipGain;          };
-  
-  Float_t  GetADCoutRange()                         const { return fADCoutRange;       };
-  Float_t  GetADCinRange()                          const { return fADCinRange;        };
-  Int_t    GetADCthreshold()                        const { return fADCthreshold;      };
-  Int_t    GetADCbaseline()                         const { return fADCbaseline;       };
-  
-  Bool_t   DiffusionOn()                            const { return fDiffusionOn;   };
-  
-  Bool_t   ElAttachOn()                             const { return fElAttachOn;    }; 
-  Float_t  GetElAttachProp()                        const { return fElAttachProp;      };
-  
-  Bool_t   TRFOn()                                  const { return fTRFOn;         };
-  Double_t TimeResponse(Double_t time) const;  
-  Float_t  GetTRFlo()                               const { return fTRFlo;             };
-  Float_t  GetTRFhi()                               const { return fTRFhi;             };
-  
-  Bool_t   CTOn()                                   const { return fCTOn;          };
-  Double_t CrossTalk(Double_t time) const; 
-  
-  Bool_t   TCOn()                                   const { return fTCOn;          };
-  Int_t    GetTCnexp()                              const { return fTCnexp;            };
-  
-  Float_t  GetPadCoupling()                         const { return fPadCoupling;       };
-  Float_t  GetTimeCoupling()                        const { return fTimeCoupling;      };
-  Float_t  GetAnodeWireOffset()                     const { return fAnodeWireOffset;   };
-  Bool_t TimeStructOn()                             const { return fTimeStructOn;  };
-    
-  Bool_t   PRFOn()                                  const { return fPRFOn;         };
-  
-protected:
-  static AliTRDSimParam* fgInstance;     // Instance of this class (singleton implementation)
-  static Bool_t fgTerminated;               // Defines if this class has already been terminated and therefore does not return instances in GetInstance anymore
-  
-  // Digitization parameter
-  Float_t              fGasGain;                            //  Gas gain
-  Float_t              fNoise;                              //  Electronics noise
-  Float_t              fChipGain;                           //  Electronics gain
+
+  virtual void     Copy(TObject &p) const;
+  
+          void     SetGasGain(Float_t gasgain)               { fGasGain           = gasgain;          }
+          void     SetNoise(Float_t noise)                   { fNoise             = noise;            }
+          void     SetChipGain(Float_t chipgain)             { fChipGain          = chipgain;         }
+          void     SetADCoutRange(Float_t range)             { fADCoutRange       = range;            }
+          void     SetADCinRange(Float_t range)              { fADCinRange        = range;            }
+          void     SetADCbaseline(Int_t basel)               { fADCbaseline       = basel;            }   
+          void     SetDiffusion(Int_t diffOn = 1)            { fDiffusionOn       = diffOn;           }
+          void     SetElAttach(Int_t elOn = 1)               { fElAttachOn        = elOn;             }
+          void     SetElAttachProp(Float_t prop)             { fElAttachProp      = prop;             }
+          void     SetTimeResponse(Int_t trfOn = 1)          { fTRFOn             = trfOn; ReInit();  }  
+          void     SetCrossTalk(Int_t ctOn = 1)              { fCTOn              = ctOn; ReInit();   }
+          void     SetPadCoupling(Float_t v)                 { fPadCoupling       = v;                }
+          void     SetTimeCoupling(Float_t v)                { fTimeCoupling      = v;                }
+          void     SetTimeStruct(Bool_t tsOn = 1)            { fTimeStructOn      = tsOn;             }
+          void     SetPadResponse(Int_t prfOn = 1)           { fPRFOn             = prfOn;            }
+          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;                      }
+          Float_t  GetADCoutRange() const                    { return fADCoutRange;                   }
+          Float_t  GetADCinRange() const                     { return fADCinRange;                    }
+          Int_t    GetADCbaseline() const                    { return fADCbaseline;                   }
+          Float_t  GetTRFlo() const                          { return fTRFlo;                         }
+          Float_t  GetTRFhi() const                          { return fTRFhi;                         }
+          Float_t  GetPadCoupling() const                    { return fPadCoupling;                   }
+          Float_t  GetTimeCoupling() const                   { return fTimeCoupling;                  }
+          Int_t    GetNTimeBins() const                      { return fNTimeBins;                     }
+          Bool_t   GetNTBoverwriteOCDB() const               { return fNTBoverwriteOCDB;              }
+
+          Bool_t   DiffusionOn() const                       { return fDiffusionOn;                   }
+          Bool_t   ElAttachOn() const                        { return fElAttachOn;                    } 
+          Float_t  GetElAttachProp() const                   { return fElAttachProp;                  }
+          Bool_t   TRFOn() const                             { return fTRFOn;                         }
+          Bool_t   CTOn() const                              { return fCTOn;                          }
+          Bool_t   TimeStructOn() const                      { return fTimeStructOn;                  }
+          Bool_t   PRFOn() const                             { return fPRFOn;                         }
+
+          Double_t TimeResponse(Double_t time) const;  
+          Double_t CrossTalk(Double_t time) const; 
+
+          void     ReInit();
   
-  Float_t              fADCoutRange;                        //  ADC output range (number of channels)
-  Float_t              fADCinRange;                         //  ADC input range (input charge)
-  Int_t                fADCthreshold;                       //  ADC threshold in ADC channel
-  Int_t                fADCbaseline;                        //  ADC baseline in ADC chann
+ protected:
+
+  static AliTRDSimParam* fgInstance;   //  Instance of this class (singleton implementation)
+  static Bool_t          fgTerminated; //  Defines if this class has already been terminated and
+                                       //  therefore does not return instances in GetInstance anymore
   
-  Int_t                fDiffusionOn;                        //  Switch for the diffusion
+          // Digitization parameter
+          Float_t  fGasGain;           //  Gas gain
+          Float_t  fNoise;             //  Electronics noise
+          Float_t  fChipGain;          //  Electronics gain
   
-  Int_t                fElAttachOn;                         //  Switch for the electron attachment
-  Float_t              fElAttachProp;                       //  Propability for electron attachment (for 1m)
+          Float_t  fADCoutRange;       //  ADC output range (number of channels)
+          Float_t  fADCinRange;        //  ADC input range (input charge)
+          Int_t    fADCbaseline;       //  ADC intrinsic baseline in ADC channel
   
-  Int_t                fTRFOn;                              //  Switch for the time response
-  Float_t             *fTRFsmp;                             //! Integrated time response
-  Int_t                fTRFbin;                             //  Number of bins for the TRF
-  Float_t              fTRFlo;                              //  Lower boundary of the TRF
-  Float_t              fTRFhi;                              //  Higher boundary of the TRF
-  Float_t              fTRFwid;                             //  Bin width of the integrated TRF
+          Int_t    fDiffusionOn;       //  Switch for the diffusion
   
-  Int_t                fCTOn;                               //  Switch for cross talk
-  Float_t             *fCTsmp;                              //! Integrated cross talk
+          Int_t    fElAttachOn;        //  Switch for the electron attachment
+          Float_t  fElAttachProp;      //  Propability for electron attachment (for 1m)
   
-  Int_t                fTCOn;                               //  Switch for the tail cancelation
-  Int_t                fTCnexp;                             //  Number of exponential of the digital filter
+          Int_t    fTRFOn;             //  Switch for the time response
+          Float_t *fTRFsmp;            //! Integrated time response
+          Int_t    fTRFbin;            //  Number of bins for the TRF
+          Float_t  fTRFlo;             //  Lower boundary of the TRF
+          Float_t  fTRFhi;             //  Higher boundary of the TRF
+          Float_t  fTRFwid;            //  Bin width of the integrated TRF
   
-  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    fCTOn;              //  Switch for cross talk
+          Float_t *fCTsmp;             //! Integrated cross talk
   
-  Int_t                fPRFOn;                              //  Switch for the pad response
+          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
   
-private:
-  // this is a singleton, constructor is private!  
+          Int_t    fPRFOn;             //  Switch for the pad response
+
+          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:
+
+  // This is a singleton, constructor is private!  
   AliTRDSimParam();
   virtual ~AliTRDSimParam();
 
-  void Init();
-  void ReInit();
-  void SampleTRF();
+          void Init();
+          void SampleTRF();
   
-  ClassDef(AliTRDSimParam, 1)
+  ClassDef(AliTRDSimParam,6)          // The TRD simulation parameters
+
 };
 
 #endif