SDD trigger delay in simulation (set to 0 for the time being) - F. Prino
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 26 Sep 2010 15:56:14 +0000 (15:56 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 26 Sep 2010 15:56:14 +0000 (15:56 +0000)
ITS/AliITSSimuParam.cxx
ITS/AliITSSimuParam.h
ITS/AliITSsimulationSDD.cxx

index d4bb8a0..aeed144 100644 (file)
@@ -39,6 +39,7 @@ const Float_t  AliITSSimuParam::fgkSDDJitterErrorDefault = 20.; // 20 um from be
 const Float_t  AliITSSimuParam::fgkSDDDynamicRangeDefault = 1400./2.5; // mV/MOhm = nA
 const Int_t    AliITSSimuParam::fgkSDDMaxAdcDefault = 1024;
 const Float_t  AliITSSimuParam::fgkSDDChargeLossDefault = 0.;
+const Float_t  AliITSSimuParam::fgkSDDTrigDelayDefault = 0.;
 const Double_t AliITSSimuParam::fgkSSDCouplingPRDefault = 0.01;
 const Double_t AliITSSimuParam::fgkSSDCouplingPLDefault = 0.01;
 const Double_t AliITSSimuParam::fgkSSDCouplingNRDefault = 0.01;
@@ -71,6 +72,7 @@ fSDDJitterError(fgkSDDJitterErrorDefault),
 fSDDDynamicRange(fgkSDDDynamicRangeDefault),
 fSDDMaxAdc(0.),
 fSDDChargeLoss(fgkSDDChargeLossDefault),
+fSDDTrigDelay(fgkSDDTrigDelayDefault),
 fSDDRawFormat(7),
 fSSDCouplingPR(0),
 fSSDCouplingPL(0),
@@ -117,6 +119,7 @@ fSDDJitterError(simpar.fSDDJitterError),
 fSDDDynamicRange(simpar.fSDDDynamicRange),
 fSDDMaxAdc(simpar.fSDDMaxAdc),
 fSDDChargeLoss(simpar.fSDDChargeLoss),
+fSDDTrigDelay(simpar.fSDDTrigDelay),
 fSDDRawFormat(simpar.fSDDRawFormat),
 fSSDCouplingPR(simpar.fSSDCouplingPR),
 fSSDCouplingPL(simpar.fSSDCouplingPL),
@@ -186,6 +189,7 @@ void AliITSSimuParam::PrintParameters() const{
   printf("Dynamic Range             = %f\n",fSDDDynamicRange);
   printf("Max. ADC                  = %f\n",fSDDMaxAdc);
   printf("Charge Loss               = %f\n",fSDDChargeLoss);  
+  printf("Trigger Delay (ns)        = %f\n",fSDDTrigDelay);  
   printf("Raw Data Format           = %d\n",fSDDRawFormat);  
   printf("\n");
   printf("=====  SSD parameters  =====\n");
index 5201808..dc61cfd 100644 (file)
@@ -93,6 +93,9 @@ 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    SetSDDRawDataFormatCarlos() {fSDDRawFormat=7;}
   void    SetSDDRawDataFormatFixLen8bitEncoded() {fSDDRawFormat=0;}
   Char_t  GetSDDRawDataFormat() const {return fSDDRawFormat;}
@@ -189,6 +192,7 @@ class AliITSSimuParam : public TObject {
   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 Double_t fgkSSDCouplingPRDefault;  // default values
   static const Double_t fgkSSDCouplingPLDefault;  // for the
@@ -225,6 +229,7 @@ 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
   Char_t   fSDDRawFormat;    // Index for SDD RawFormat
   
   Double_t fSSDCouplingPR;  // SSD couplings
@@ -241,6 +246,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,4);
+  ClassDef(AliITSSimuParam,5);
 };
 #endif
index 98b87b8..ac010de 100644 (file)
@@ -398,7 +398,8 @@ void AliITSsimulationSDD::HitsToAnalogDigits( AliITSmodule *mod ) {
   Double_t  nsigma     = simpar->GetNSigmaIntegration(); //
   Int_t     nlookups   = simpar->GetGausNLookUp();       //
   Float_t   jitter     = simpar->GetSDDJitterError(); // 
-  
+  Float_t   trigDelay  = simpar->GetSDDTrigDelay();
+
   // Piergiorgio's part (apart for few variables which I made float
   // when i thought that can be done
   // Fill detector maps with GEANT hits
@@ -516,6 +517,7 @@ void AliITSsimulationSDD::HitsToAnalogDigits( AliITSmodule *mod ) {
       sigT       = sigA/driftSpeed;
 
       drTime+=tof; // take into account Time Of Flight from production point
+      drTime+=trigDelay; 
       timeSample = (Int_t) (fScaleSize*drTime/timeStep + 1.001); // time bin in range 1-256 !!!
       if(zAnode>nofAnodes) zAnode-=nofAnodes;  // to have the anode number between 0. and 256.
       iAnode = (Int_t) (1.001+zAnode); // iAnode in range 1-256 !!!!