]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALDigitizer.h
Adaption to new fluka common blocks (E. Futo)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALDigitizer.h
index 100c3626cb7a4f9d92efde42d983bf937dac1e3c..4cf238f18461902cf42be3ebc5aaf102e26fbf6f 100644 (file)
 //_________________________________________________________________________ 
 
 
-#include <stdlib.h>
 // --- ROOT system ---
-
 #include "TObjString.h"
 class TArrayI ;
+class TClonesArray ; 
+
 // --- Standard library ---
+#include <stdlib.h>
 
 // --- AliRoot header files ---
-class AliEMCALSDigitizer ;
-#include "AliRunDigitizer.h"
 #include "AliDigitizer.h"
-
+class AliEMCALSDigitizer ;
+class AliRunDigitizer ;
 
 class AliEMCALDigitizer: public AliDigitizer {
 
 public:
   AliEMCALDigitizer() ;          // ctor
-  AliEMCALDigitizer(const char *headerFile,const char * sDigitsBranchTitle = "Default") ; 
+  AliEMCALDigitizer(const char *headerFile, const char * sDigitsBranchTitle = "Default", const Bool_t toSplit = kFALSE) ; 
   AliEMCALDigitizer(AliRunDigitizer * ard) ;
   AliEMCALDigitizer(const AliEMCALDigitizer & dtizer) 
                   {( (AliEMCALDigitizer &)dtizer ).Copy(*this) ;} 
   virtual ~AliEMCALDigitizer() ;       
 
-  void    Digitize(const Int_t);            // Make Digits from SDigits stored in fSDigits
-  void    Exec(Option_t *option);                // Supervising method
+  void    Digitize(const Int_t event);          // Make Digits from SDigits stored in fSDigits
+  void    Exec(Option_t *option);               // Supervising method
 
-  const Float_t GetTowerThreshold() const { return fTowerDigitThreshold;}
-  const Float_t GetPedestal()     const { return fPedestal; }
-  const Float_t GetPinNoise()     const { return fPinNoise;}
-  const Float_t GetSlope()        const { return fSlope; }
+  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 GetTowerchannel() const { return fADCchannelTower ; }
-  const Float_t GetTowerpedestal() const { return fADCpedestalTower ; }
-  const Float_t GetPreShochannel() const { return fADCchannelPreSho ; }
-  const Float_t GetPreShopedestal() const { return fADCpedestalPreSho ; }
-
-  void    MixWith(char* HeaderFile) ; // Add another one file to mix
-  virtual void    Print(Option_t* option)const ;
-  void    Reset() ;   //restarts starts event processing from 0 event(s)
-  const Int_t   GetDigitsInRun()  const { return fDigitsInRun; } ;
-  void    SetTowerThreshold(Float_t EMCThreshold)  {fTowerDigitThreshold = EMCThreshold;}
+  const Float_t GetECchannel()      const { return fADCchannelEC ; }
+  const Float_t GetECpedestal()     const { return fADCpedestalEC ; }
+  const Float_t GetHCchannel()      const { return fADCchannelHC ; }
+  const Float_t GetHCpedestal()     const { return fADCpedestalHC ; }
+  const Float_t GetPREchannel()     const { return fADCchannelPRE ; }
+  const Float_t GetPREpedestal()    const { return fADCpedestalPRE ; }
+
+  void    SetDigitThreshold(Float_t EMCThreshold)  {fDigitThreshold = EMCThreshold;}
   void    SetPinNoise(Float_t PinNoise )         {fPinNoise = PinNoise;}
 
-  void    SetSDigitsBranch(const char* file) ;
-  void    SetSplitFile(const TString splitFileName = "EMCAL.Digits.root") ;
+  //General
+  const Int_t   GetDigitsInRun()  const { return fDigitsInRun; } ;
+  void  MixWith(char* HeaderFile) ; // Add another one file to mix
+  void  Print(Option_t* option)const ;
  
-
  AliEMCALDigitizer & operator = (const AliEMCALDigitizer & rvalue)  {
     // assignement operator requested by coding convention but not needed
-    abort() ;
-    return *this ; 
+   Fatal("operator =", "not implemented") ;  
+   return *this ; 
   }
 
-
 private:
 
   Bool_t  Init();                   
   void    InitParameters() ; 
-  Bool_t  ReadSDigits() ;            // Read sdigits for particular events
-  void    WriteDigits(Int_t evt) ;            // Writes Digits for particular event
   void    PrintDigits(Option_t * option) ;
+  void    WriteDigits(Int_t evt) ;            // Writes Digits for particular 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) ;
 
 private:
   
-  AliEMCALSDigitizer * fSDigitizer ; // ! SDigitizer to extract some sdigitizing parameters
-  Int_t   fNinputs ;                // Number of input files
-  Bool_t  fInitialized ;            // 
-  Int_t fDigitsInRun ;              //! Total number of digits in one run
-  Float_t fPedestal ;                // Calibration parameters 
-  Float_t fSlope ;                   // read from SDigitizer
-
-  Float_t fPinNoise ;               // Electronics noise in EMC
-  Float_t fTowerDigitThreshold  ;     // Threshold for storing digits in EMC
-  Float_t fPreShowerDigitThreshold ; // Threshold for Preshower digits
-
-  Float_t fTimeResolution ;         // Time resolution of FEE electronics
-  Float_t fTimeThreshold ;          // Threshold to start timing for given crystall
-  Float_t fTimeSignalLength ;       // Length of the timing signal 
-
-  Float_t fADCchannelTower ;           // width of one ADC channel in Tower (GeV)
-  Float_t fADCpedestalTower ;         //
-  Int_t fNADCTower ;                // number of channels in Tower ADC
-
-  Float_t fADCchannelPreSho ;           // width of one ADC channel in Pre Shower (GeV)
-  Float_t fADCpedestalPreSho ;                   // 
-  Int_t fNADCPreSho ;                // number of channels in Pre Shower ADC
-  TFile * fSplitFile ;               //! file in which Digits will eventually be stored
-
-  ClassDef(AliEMCALDigitizer,1)  // description 
+  Bool_t fDefaultInit;            //! Says if the task was created by defaut ctor (only parameters are initialized)
+  Int_t fDigitsInRun ;            //! Total number of digits in one run
+  Float_t fDigitThreshold  ;      // Threshold for storing digits in EMC
+  Int_t   fMeanPhotonElectron ;   // number of photon electrons per GeV deposited energy 
+  Float_t fPedestal ;             // Calibration parameters 
+  Float_t fSlope ;                // read from SDigitizer
+  Float_t fPinNoise ;             // Electronics noise in EMC
+  Float_t fTimeResolution ;       // Time resolution of FEE electronics
+  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 ;        //
+  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
+  Bool_t  fToSplit ;              //! Do we work in the split mode
+  TFile * fSplitFile ;            //! file in which Digits will eventually be stored
+
+  ClassDef(AliEMCALDigitizer,3)  // description 
 
 };