Transition to NewIO
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALDigitizer.h
index 4cf238f..32fae09 100644 (file)
@@ -10,6 +10,7 @@
 //                  
 //*-- Author: Sahal Yacoob (LBL)
 // based on : AliPHOSDigit
+// July 2003 Yves Schutz : NewIO 
 //_________________________________________________________________________ 
 
 
@@ -19,10 +20,10 @@ class TArrayI ;
 class TClonesArray ; 
 
 // --- Standard library ---
-#include <stdlib.h>
 
 // --- AliRoot header files ---
 #include "AliDigitizer.h"
+#include "AliConfig.h"
 class AliEMCALSDigitizer ;
 class AliRunDigitizer ;
 
@@ -30,10 +31,9 @@ class AliEMCALDigitizer: public AliDigitizer {
 
 public:
   AliEMCALDigitizer() ;          // ctor
-  AliEMCALDigitizer(const char *headerFile, const char * sDigitsBranchTitle = "Default", const Bool_t toSplit = kFALSE) ; 
-  AliEMCALDigitizer(AliRunDigitizer * ard) ;
-  AliEMCALDigitizer(const AliEMCALDigitizer & dtizer) 
-                  {( (AliEMCALDigitizer &)dtizer ).Copy(*this) ;} 
+  AliEMCALDigitizer(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;  
+  AliEMCALDigitizer(const AliEMCALDigitizer & dtizer) ;
+  AliEMCALDigitizer(AliRunDigitizer * manager) ;
   virtual ~AliEMCALDigitizer() ;       
 
   void    Digitize(const Int_t event);          // Make Digits from SDigits stored in fSDigits
@@ -44,10 +44,10 @@ public:
   const Float_t GetPinNoise()       const { return fPinNoise;}
   const Float_t GetSlope()          const { return fSlope; }
   const Float_t GetTimeResolution() const { return fTimeResolution ; }
-  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 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 ; }
 
@@ -55,9 +55,10 @@ public:
   void    SetPinNoise(Float_t PinNoise )         {fPinNoise = PinNoise;}
 
   //General
-  const Int_t   GetDigitsInRun()  const { return fDigitsInRun; } ;
-  void  MixWith(char* HeaderFile) ; // Add another one file to mix
-  void  Print(Option_t* option)const ;
+  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 ;
  
  AliEMCALDigitizer & operator = (const AliEMCALDigitizer & rvalue)  {
     // assignement operator requested by coding convention but not needed
@@ -70,16 +71,24 @@ 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
+
   //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:
   
-  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
+  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
+  Bool_t  fInit ;                 //! To avoid overwriting existing files
+
+  Int_t   fInput ;                // Number of files to merge
+  TString * fInputFileNames ;     //[fInput] List of file names to merge 
+  TString * fEventNames ;         //[fInput] List of event names to merge
+
   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 
@@ -97,10 +106,10 @@ private:
   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 
+  TString fEventFolderName;         // skowron: name of EFN to read data from in stand alone mode
+
+  ClassDef(AliEMCALDigitizer,4)  // description 
 
 };