]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSEmcCalibData.cxx
Updates for the ROOT trunk
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEmcCalibData.cxx
index 050017859ac162d9fc8a8ca61d006487b4e8d131..a3cdc62fad1b27aade52fea8c2d52fae2aad5908 100644 (file)
 ClassImp(AliPHOSEmcCalibData)
 
 //________________________________________________________________
-  AliPHOSEmcCalibData::AliPHOSEmcCalibData(): TNamed()
+AliPHOSEmcCalibData::AliPHOSEmcCalibData():
+  TNamed(),
+  fSampleTimeStep(0)
 {
   // Default constructor
   Reset();
 }
 
 //________________________________________________________________
-AliPHOSEmcCalibData::AliPHOSEmcCalibData(const char* name)
+AliPHOSEmcCalibData::AliPHOSEmcCalibData(const char* name):
+  TNamed(),
+  fSampleTimeStep(0)
 {
   // Constructor
   TString namst = "Calib_";
@@ -43,7 +47,8 @@ AliPHOSEmcCalibData::AliPHOSEmcCalibData(const char* name)
 
 //________________________________________________________________
 AliPHOSEmcCalibData::AliPHOSEmcCalibData(const AliPHOSEmcCalibData& calibda) :
-  TNamed(calibda)
+  TNamed(calibda),
+  fSampleTimeStep(calibda.fSampleTimeStep)
 {
   // copy constructor
   SetName(calibda.GetName());
@@ -57,6 +62,7 @@ AliPHOSEmcCalibData::AliPHOSEmcCalibData(const AliPHOSEmcCalibData& calibda) :
        fHighLowRatioEmc[module][column][row] = calibda.fHighLowRatioEmc[module][column][row];
        fTimeShiftEmc[module][column][row] = calibda.fTimeShiftEmc[module][column][row];
         fAltroOffsets[module][column][row] = calibda.fAltroOffsets[module][column][row];
+       fDecal[module][column][row]        = calibda.fDecal[module][column][row];
       }
     }
   }
@@ -79,7 +85,8 @@ AliPHOSEmcCalibData &AliPHOSEmcCalibData::operator =(const AliPHOSEmcCalibData&
          fADCpedestalEmc[module][column][row] = calibda.fADCpedestalEmc[module][column][row];
          fHighLowRatioEmc[module][column][row] = calibda.fHighLowRatioEmc[module][column][row];
          fTimeShiftEmc[module][column][row] = calibda.fTimeShiftEmc[module][column][row];
-          fAltroOffsets[module][column][row] = calibda.fAltroOffsets[module][column][row]; 
+          fAltroOffsets[module][column][row] = calibda.fAltroOffsets[module][column][row];
+         fDecal[module][column][row]        = calibda.fDecal[module][column][row];
        }
       }
     }
@@ -107,10 +114,11 @@ void AliPHOSEmcCalibData::Reset()
        fHighLowRatioEmc[module][column][row] = 16. ;
        fTimeShiftEmc[module][column][row] = 0. ;
         fAltroOffsets[module][column][row] = 0 ;
+       fDecal[module][column][row] = 1.;
       }
     }
   }
-
+  fSampleTimeStep=100.e-9 ; //100 ns
 }
 
 //________________________________________________________________
@@ -222,6 +230,14 @@ Float_t AliPHOSEmcCalibData::GetTimeShiftEmc(Int_t module, Int_t column, Int_t r
   return fTimeShiftEmc[module-1][column-1][row-1];
 }
 //________________________________________________________________
+Float_t AliPHOSEmcCalibData::GetSampleTimeStep()const
+{
+   //Returns conversion coefficient from ALTRO smaple time step and secods
+   //Negative value not used in reconstruction (conversion taken from TRU trailer)
+   //and only in raw simulation
+   return fSampleTimeStep ;
+}
+//________________________________________________________________
 Int_t AliPHOSEmcCalibData::GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const
 {
   //Return EMC altro offsets
@@ -273,3 +289,30 @@ void AliPHOSEmcCalibData::SetAltroOffsetEmc(Int_t module, Int_t column, Int_t ro
   //module 1:5, column 1:56, row 1:64
   fAltroOffsets[module-1][column-1][row-1] = value;
 }
+//________________________________________________________________
+void AliPHOSEmcCalibData::SetSampleTimeStep(Float_t step)
+{
+   //Sets conversion coefficient from ALTRO smaple time step and secods
+   //Negative value not used in reconstruction (conversion taken from TRU trailer)
+   //and only in raw simulation
+   fSampleTimeStep = step ;
+}
+
+//________________________________________________________________
+Float_t AliPHOSEmcCalibData::GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const
+{
+  //Return EMC random (de)calibration coefficient O(1). Used in simulation.
+  //module, column,raw should follow the internal PHOS convention:
+  //module 1:5, column 1:56, row 1:64
+
+  return fDecal[module-1][column-1][row-1];
+}
+
+void AliPHOSEmcCalibData::SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value)
+{
+  //Set EMC (de)calibration coefficient O(1). Used in simulation.
+  //module, column,raw should follow the internal PHOS convention:
+  //module 1:5, column 1:56, row 1:64
+
+  fDecal[module-1][column-1][row-1] = value;
+}