Moving required CMake version from 2.8.4 to 2.8.8
[u/mrichter/AliRoot.git] / ITS / AliITSSimuParam.h
index 4d28d30..5f414e2 100644 (file)
@@ -57,7 +57,7 @@ class AliITSSimuParam : public TObject {
 
 
   void SetSPDCouplingOption(const char *opt) {fSPDCouplOpt=opt;}
-  void GetSPDCouplingOption(char *opt) const {strcpy(opt,fSPDCouplOpt.Data());}
+  void GetSPDCouplingOption(char *opt) const {strncpy(opt,fSPDCouplOpt.Data(),fSPDCouplOpt.Sizeof());}
 
   void SetSPDCouplingParam(Double_t col, Double_t row)
         {fSPDCouplCol = col; fSPDCouplRow = row;}
@@ -67,6 +67,16 @@ class AliITSSimuParam : public TObject {
   void   SetSPDSigmaDiffusionAsymmetry(Double_t ecc) {fSPDEccDiff=ecc;}   
   void   GetSPDSigmaDiffusionAsymmetry(Double_t &ecc) const {ecc=fSPDEccDiff;}
 
+  void    SetSPDLorentzDrift(Bool_t ison) {fSPDLorentzDrift=ison;}
+  Bool_t  GetSPDLorentzDrift() const {return fSPDLorentzDrift;}
+  void    SetSPDLorentzHoleWeight(Float_t weight) {fSPDLorentzHoleWeight=weight;}
+  Float_t GetSPDLorentzHoleWeight() const {return fSPDLorentzHoleWeight;}
+  
+  void   SetSPDAddNoisyFlag(Bool_t value) {fSPDAddNoisyFlag = value;}
+  Bool_t GetSPDAddNoisyFlag() const {return fSPDAddNoisyFlag;}
+  void   SetSPDRemoveDeadFlag(Bool_t value) {fSPDRemoveDeadFlag = value;}
+  Bool_t GetSPDRemoveDeadFlag() const {return fSPDRemoveDeadFlag;}
+  
   void SetSDDElectronics(Int_t p1=1) {fSDDElectronics=p1;   }
   Int_t GetSDDElectronics()  const {return fSDDElectronics;}
 
@@ -87,6 +97,23 @@ class AliITSSimuParam : public TObject {
   void    SetSDDChargeLoss(Double_t p1) {fSDDChargeLoss=p1;}
   Float_t GetSDDChargeLoss() const {return fSDDChargeLoss;}
 
+  void    SetSDDTrigDelay(Double_t p1) {fSDDTrigDelay=p1;}
+  Float_t GetSDDTrigDelay() const {return fSDDTrigDelay;}
+
+  void    SetSDDCorrMapPrecision(Double_t p1) {fSDDMapPrec=p1;}
+  Float_t GetSDDCorrMapPrecision() const {return fSDDMapPrec;}
+
+  void    SetSDDkeVtoADC(Double_t p1) {fSDDkeVtoADC=p1;}
+  Float_t GetSDDkeVtoADC() const {return fSDDkeVtoADC;}
+
+  void    SetSDDRawDataFormatCarlos() {fSDDRawFormat=7;}
+  void    SetSDDRawDataFormatFixLen8bitEncoded() {fSDDRawFormat=0;}
+  Char_t  GetSDDRawDataFormat() const {return fSDDRawFormat;}
+
+  // Use Lorentz's angle
+  void    SetSSDLorentzDrift(Bool_t ison) {fSSDLorentzDrift=ison;}
+  Bool_t  GetSSDLorentzDrift() const {return fSSDLorentzDrift;}
+
   Int_t GetSSDZSThreshold() const { // ZS threshold
     return fSSDZSThreshold; }
   virtual void SetSSDZSThreshold(Int_t zsth) { fSSDZSThreshold = zsth; }
@@ -174,12 +201,16 @@ class AliITSSimuParam : public TObject {
   static const Double_t fgkSPDCouplColDefault; //default for fSPDCouplCol
   static const Double_t fgkSPDCouplRowDefault; //default for fSPDCouplRow
   static const Float_t fgkSPDEccDiffDefault;//default for fSPDEccDiff
+  static const Float_t fgkSPDLorentzHoleWeightDefault;//default for fSPDLorentzHoleWeight
   static const Float_t fgkSDDDiffCoeffDefault; // default for fSDDDiffCoeff
   static const Float_t fgkSDDDiffCoeff1Default; // default for fSDDDiffCoeff1 
   static const Float_t fgkSDDJitterErrorDefault; // default for fSDDJitterError
   static const Float_t fgkSDDDynamicRangeDefault; // default for fSDDDynamicRange
   static const Int_t fgkSDDMaxAdcDefault; // default for fSDDMaxAdc
   static const Float_t fgkSDDChargeLossDefault; // default for fSDDChargeLoss
+  static const Float_t fgkSDDTrigDelayDefault; // default for fSDDTrigDelay
+  static const Float_t fgkSDDMapPrecDefault; // default for fSDDTrigDelay
+  static const Float_t fgkSDDkeVtoADCDefault; // default for keV->ADC conv.
 
   static const Double_t fgkSSDCouplingPRDefault;  // default values
   static const Double_t fgkSSDCouplingPLDefault;  // for the
@@ -205,7 +236,12 @@ class AliITSSimuParam : public TObject {
   Double_t fSPDCouplCol;    // SPD Coupling parameter along the cols
   Double_t fSPDCouplRow;    // SPD Coupling parameter along the rows
   Float_t  fSPDEccDiff;     // Eccentricity (i.e. asymmetry parameter) in the 
-                            // Gaussian diffusion for SPD
+                            // Gaussian diffusion for SPD  
+  Bool_t   fSPDLorentzDrift;     // Flag to decide whether to simulate the Lorentz Drift or not in SPD
+  Float_t  fSPDLorentzHoleWeight;// Lorentz Angle is computed for SPD as average of Hole and Electron
+                                 // this parameter gives the relative weights between the two
+  Bool_t   fSPDAddNoisyFlag;     // Flag saying whether noisy pixels should be added to digits
+  Bool_t   fSPDRemoveDeadFlag;   // Flag saying whether dead pixels should be removed from digits
 
   Int_t    fSDDElectronics;  // SDD Electronics Pascal (1) or OLA (2)
   Float_t  fSDDDiffCoeff;    // SDD Diffusion Coefficient (scaling the time)
@@ -214,7 +250,13 @@ class AliITSSimuParam : public TObject {
   Float_t  fSDDDynamicRange; // SDD Dynamic Range 
   Float_t  fSDDMaxAdc;       // SDD ADC saturation value
   Float_t  fSDDChargeLoss;   // Set Linear Coefficient for Charge Loss 
+  Float_t  fSDDTrigDelay;    // SDD time-zero
+  Float_t  fSDDMapPrec;      // SDD maps precision
+  Float_t  fSDDkeVtoADC;     // SDD keV->ADC conv. factor
+  Char_t   fSDDRawFormat;    // Index for SDD RawFormat
   
+  Bool_t   fSSDLorentzDrift;     // Flag to decide whether to simulate the Lorentz Drift or not in SSD
+
   Double_t fSSDCouplingPR;  // SSD couplings
   Double_t fSSDCouplingPL;  // SSD couplings
   Double_t fSSDCouplingNR;  // SSD couplings
@@ -229,6 +271,6 @@ class AliITSSimuParam : public TObject {
   Double_t fN;  // the impurity concentration of the material in #/cm^3  (NOT USED!)
   Float_t fT;   // The temperature of the Si in Degree K.
 
-  ClassDef(AliITSSimuParam,2);
+  ClassDef(AliITSSimuParam,6);
 };
 #endif