]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALSDigitizer.h
Changes for report #68914: Improper usage of TClonesArrays in EMCAL
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALSDigitizer.h
index 8c08390e0a3dfecf56581f48b6ab451ed4448a32..9c88d82078e26cbc52f176f733d8b116202f16ae 100644 (file)
@@ -1,22 +1,27 @@
-#ifndef ALIEMCALSDigitizer_H
-#define ALIEMCALSDigitizer_H
+#ifndef ALIEMCALSDIGITIZER_H
+#define ALIEMCALSDIGITIZER_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 /* $Id$ */
 //_________________________________________________________________________
-//  Task Class for making SDigits in EMCAL      
-//                  
+// This is a TTask that makes SDigits out of Hits
+// A Summable Digits is the sum of all hits originating 
+// from one in one tower of the EMCAL 
+// A threshold for assignment of the primary to SDigit is applied 
+//
+// SDigits need to hold the energy sum of the hits, but AliEMCALDigit
+// can (should) only store amplitude.  Therefore, the SDigit energy is
+// "digitized" before being stored and must be "calibrated" back to an
+// energy before SDigits are summed to form true Digits
+//
+//
 //*-- Author: Sahal Yacoob (LBL)
 // based on : AliPHOSSDigitizer
 //_________________________________________________________________________
-//
-// Modif: 
-//  August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction
-//  July   2003 Yves Schutz: new  IO (à la PHOS)
  
 // --- ROOT system ---
 #include "TTask.h"
-class TFile ;
+class TBrowser;
 
 // --- Standard library ---
 
@@ -27,20 +32,24 @@ class AliEMCALSDigitizer: public TTask {
 
 public:
   AliEMCALSDigitizer() ;          // ctor
-  AliEMCALSDigitizer(const char * alirunFileName, const char * eventFolderName = AliConfig::fgkDefaultEventFolderName) ; 
+  AliEMCALSDigitizer(const char * alirunFileName, const char * eventFolderName = AliConfig::GetDefaultEventFolderName()) ; 
   AliEMCALSDigitizer(const AliEMCALSDigitizer & sd) ;
-  virtual ~AliEMCALSDigitizer() {;} // dtor
+  virtual ~AliEMCALSDigitizer(); // dtor
+
+  Float_t       Digitize(Float_t energy)const; //convert energy in GeV to int amplitude
+  Float_t       Calibrate(Float_t amp)const;  //opposite of Digitize()
 
-  Float_t       Calibrate(Int_t amp)const {return (amp - fA)/fB ; }
-  Int_t         Digitize(Float_t Energy)const { return (Int_t ) ( fA + Energy*fB); }
   virtual void  Exec(Option_t *option); 
   Int_t         GetSDigitsInRun() const {return fSDigitsInRun ;}  
-  virtual void  Print() const ;
+  virtual void  Print(Option_t *option="") const;
+  void          Print1(Option_t *option="all");  // *MENU*
   void          SetEventFolderName(TString name) { fEventFolderName = name ; }
+  void          SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
 
   Bool_t operator == (const AliEMCALSDigitizer & sd) const ;
   const AliEMCALSDigitizer & operator = (const AliEMCALSDigitizer & /*sd*/) {return *this ;}
 
+  virtual void Browse(TBrowser* b);
 
 private:
   void     Init() ;
@@ -54,12 +63,15 @@ private:
   Float_t fECPrimThreshold ;       // To store primary if EC Shower Elos > threshold
   Bool_t  fDefaultInit;            //! Says if the task was created by defaut ctor (only parameters are initialized)
   TString fEventFolderName;        // event folder name
-  Bool_t  fInit ;                  //! tells if initialisation wennt OK, will revent exec if not
+  Bool_t  fInit ;                  //! tells if initialisation went OK, will revent exec if not
   Int_t   fSDigitsInRun ;          //! Total number of sdigits in one run
-
-  ClassDef(AliEMCALSDigitizer,5)  // description 
-
+  Int_t   fFirstEvent;             // first event to process
+  Int_t   fLastEvent;              // last  event to process
+  Float_t fSampling;               // See AliEMCALGeometry
+  TClonesArray* fHits;             //-> Temporal array with hits
+       
+  ClassDef(AliEMCALSDigitizer,7)  // description 
 };
 
-#endif // AliEMCALSDigitizer_H
+#endif // AliEMCALSDIGITIZER_H