]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALDigitizer.h
Updated geometry including for the first time ACORDE
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALDigitizer.h
index 32fae09a8ce3ff541f7ee96cad3581cf8336d4f1..b85ee6b9ef14bfa8138ec0ac5ab396ce98b4760c 100644 (file)
@@ -10,7 +10,8 @@
 //                  
 //*-- Author: Sahal Yacoob (LBL)
 // based on : AliPHOSDigit
-// July 2003 Yves Schutz : NewIO 
+// July     2003 Yves Schutz : NewIO 
+// November 2003 Aleksei Pavlinov : Shish-Kebab geometry 
 //_________________________________________________________________________ 
 
 
 #include "TObjString.h"
 class TArrayI ;
 class TClonesArray ; 
+class TList;
+class TBrowser;
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
 #include "AliDigitizer.h"
 #include "AliConfig.h"
+#include "AliEMCALCalibData.h"
 class AliEMCALSDigitizer ;
 class AliRunDigitizer ;
 
@@ -31,53 +35,60 @@ class AliEMCALDigitizer: public AliDigitizer {
 
 public:
   AliEMCALDigitizer() ;          // ctor
-  AliEMCALDigitizer(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;  
+  AliEMCALDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;  
   AliEMCALDigitizer(const AliEMCALDigitizer & dtizer) ;
   AliEMCALDigitizer(AliRunDigitizer * manager) ;
   virtual ~AliEMCALDigitizer() ;       
 
-  void    Digitize(const Int_t event);          // Make Digits from SDigits stored in fSDigits
+  void    Digitize(Int_t event);          // Make Digits from SDigits stored in fSDigits
   void    Exec(Option_t *option);               // Supervising method
 
-  const Float_t GetDigitThreshold() const { return fDigitThreshold;}
-  const Float_t GetPedestal()       const { return fPedestal; }
-  const Float_t GetPinNoise()       const { return fPinNoise;}
-  const Float_t GetSlope()          const { return fSlope; }
-  const Float_t GetTimeResolution() const { return fTimeResolution ; }
-  const Float_t GetECAchannel()     const { return fADCchannelEC ; }
-  const Float_t GetECApedestal()    const { return fADCpedestalEC ; }
-  const Float_t GetHCAchannel()     const { return fADCchannelHC ; }
-  const Float_t GetHCApedestal()    const { return fADCpedestalHC ; }
-  const Float_t GetPREchannel()     const { return fADCchannelPRE ; }
-  const Float_t GetPREpedestal()    const { return fADCpedestalPRE ; }
-
+  Float_t GetDigitThreshold() const { return fDigitThreshold;}
+  Float_t GetPedestal()       const { return fPedestal; }
+  Float_t GetPinNoise()       const { return fPinNoise;}
+  Float_t GetSlope()          const { return fSlope; }
+  Float_t GetTimeResolution() const { return fTimeResolution ; }
+  Float_t GetECAchannel()     const { return fADCchannelEC ; }
+  Float_t GetECApedestal()    const { return fADCpedestalEC ; }
+  void    SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
   void    SetDigitThreshold(Float_t EMCThreshold)  {fDigitThreshold = EMCThreshold;}
   void    SetPinNoise(Float_t PinNoise )         {fPinNoise = PinNoise;}
 
   //General
-  const Int_t   GetDigitsInRun()  const { return fDigitsInRun; } 
-  void  MixWith(const TString alirunFileName, 
-               const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ; // Add another one file to mix
-  void  Print()const ;
+  Int_t GetDigitsInRun()  const { return fDigitsInRun; } 
+  void  MixWith(TString alirunFileName, 
+               TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ; // Add another one file to mix
+  void  Print(Option_t* option="") const ;
+  void  Print1(Option_t * option); // *MENU*
  
AliEMCALDigitizer & operator = (const AliEMCALDigitizer & rvalue)  {
 AliEMCALDigitizer & operator = (const AliEMCALDigitizer & /*rvalue*/)  {
     // assignement operator requested by coding convention but not needed
    Fatal("operator =", "not implemented") ;  
    return *this ; 
   }
 
+  virtual void Browse(TBrowser* b);
+  //JLK
+  // hists
+  //void   SetControlHists(Int_t var=0) {fControlHists=var;}
+  //Int_t  GetControlHist() const {return fControlHists;}
+  //TList *GetListOfHists() {return fHists;}
+  //TList* BookControlHists(int var=0);
+  //void   SaveHists(const char* name="RF/TRD1/Digitizations/DigiVar?",
+  //Bool_t kSingleKey=kTRUE, const char* opt="RECREATE"); // *MENU*
+
 private:
 
   Bool_t  Init();                   
   void    InitParameters() ; 
   void    PrintDigits(Option_t * option) ;
   void    Unload() ; 
-  void    WriteDigits(Int_t evt) ;            // Writes Digits for particular event
-  Float_t TimeOfNoise(void) ;                 // Calculate time signal generated by noise
+  void    WriteDigits() ;         // Writes Digits the current event
+  Float_t TimeOfNoise(void) ;     // Calculate time signal generated by noise
 
   //Calculate the time of crossing of the threshold by front edge
   Float_t FrontEdgeTime(TClonesArray * ticks) ;
-  Int_t   DigitizeEnergy(Float_t energy, Int_t absId) ;
+  Int_t   DigitizeEnergy(Float_t energy, Int_t AbsId) ;
 
 private:
   
@@ -98,19 +109,21 @@ private:
   Float_t fTimeThreshold ;        // Threshold to start timing for given crystall
   Float_t fTimeSignalLength ;     // Length of the timing signal 
   Float_t fADCchannelEC ;         // width of one ADC channel in EC section (GeV)
-  Float_t fADCpedestalEC ;        //
+  Float_t fADCpedestalEC ;        // pedestal for one ADC channel
   Int_t   fNADCEC ;               // number of channels in EC section ADC
-  Float_t fADCchannelHC ;         // width of one ADC channel in HC section (GeV)
-  Float_t fADCpedestalHC ;        //
-  Int_t   fNADCHC ;               // number of channels in HC section ADC
-  Float_t fADCchannelPRE ;        // width of one ADC channel in PRE section (GeV)
-  Float_t fADCpedestalPRE ;       // 
-  Int_t fNADCPRE ;                // number of channels in PRE section ADC
 
   TString fEventFolderName;         // skowron: name of EFN to read data from in stand alone mode
-
-  ClassDef(AliEMCALDigitizer,4)  // description 
-
+  Int_t   fFirstEvent;        // first event to process
+  Int_t   fLastEvent;         // last  event to process
+  //JLK
+  // Control hists
+  //Int_t   fControlHists;          //!
+  //TList  *fHists;                 //!
+  AliEMCALCalibData * fCalibData; //Calibration data pointer
+
+  //JLK
+  //ClassDef(AliEMCALDigitizer,6)  // description 
+  ClassDef(AliEMCALDigitizer,7)  // description 
 };