ROOT logo
#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$ */
//_________________________________________________________________________
// This is a class 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
//_________________________________________________________________________
 
// --- ROOT system ---
#include "TNamed.h"
class TBrowser;

// --- Standard library ---

// --- AliRoot header files ---
#include "AliConfig.h"

class AliEMCALSDigitizer: public TNamed {

public:
  AliEMCALSDigitizer() ;          // ctor
  AliEMCALSDigitizer(const char * alirunFileName, const char * eventFolderName = AliConfig::GetDefaultEventFolderName()) ; 
  AliEMCALSDigitizer(const AliEMCALSDigitizer & sd) ;
  AliEMCALSDigitizer& operator = (const AliEMCALSDigitizer& source) ;
  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()

  virtual void  Digitize(Option_t *option=""); 
  Int_t         GetSDigitsInRun() const {return fSDigitsInRun ;}  
  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 ;

  virtual void Browse(TBrowser* b);

private:
  void     Init() ;
  void     InitParameters() ; 
  void     PrintSDigits(Option_t * option) ;
  void     Unload() const ;

private:
  Float_t fA ;                     // Pedestal parameter
  Float_t fB ;                     // Slope Digitizition parameters
  Float_t fECPrimThreshold ;       // To store primary if EC Shower Elos > threshold
  Bool_t  fDefaultInit;            //! Says if the object was created by defaut ctor (only parameters are initialized)
  TString fEventFolderName;        // event folder name
  Bool_t  fInit ;                  //! tells if initialisation went OK, will revent exec if not
  Int_t   fSDigitsInRun ;          //! Total number of sdigits in one run
  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,8)  // description 
};

#endif // AliEMCALSDIGITIZER_H

 AliEMCALSDigitizer.h:1
 AliEMCALSDigitizer.h:2
 AliEMCALSDigitizer.h:3
 AliEMCALSDigitizer.h:4
 AliEMCALSDigitizer.h:5
 AliEMCALSDigitizer.h:6
 AliEMCALSDigitizer.h:7
 AliEMCALSDigitizer.h:8
 AliEMCALSDigitizer.h:9
 AliEMCALSDigitizer.h:10
 AliEMCALSDigitizer.h:11
 AliEMCALSDigitizer.h:12
 AliEMCALSDigitizer.h:13
 AliEMCALSDigitizer.h:14
 AliEMCALSDigitizer.h:15
 AliEMCALSDigitizer.h:16
 AliEMCALSDigitizer.h:17
 AliEMCALSDigitizer.h:18
 AliEMCALSDigitizer.h:19
 AliEMCALSDigitizer.h:20
 AliEMCALSDigitizer.h:21
 AliEMCALSDigitizer.h:22
 AliEMCALSDigitizer.h:23
 AliEMCALSDigitizer.h:24
 AliEMCALSDigitizer.h:25
 AliEMCALSDigitizer.h:26
 AliEMCALSDigitizer.h:27
 AliEMCALSDigitizer.h:28
 AliEMCALSDigitizer.h:29
 AliEMCALSDigitizer.h:30
 AliEMCALSDigitizer.h:31
 AliEMCALSDigitizer.h:32
 AliEMCALSDigitizer.h:33
 AliEMCALSDigitizer.h:34
 AliEMCALSDigitizer.h:35
 AliEMCALSDigitizer.h:36
 AliEMCALSDigitizer.h:37
 AliEMCALSDigitizer.h:38
 AliEMCALSDigitizer.h:39
 AliEMCALSDigitizer.h:40
 AliEMCALSDigitizer.h:41
 AliEMCALSDigitizer.h:42
 AliEMCALSDigitizer.h:43
 AliEMCALSDigitizer.h:44
 AliEMCALSDigitizer.h:45
 AliEMCALSDigitizer.h:46
 AliEMCALSDigitizer.h:47
 AliEMCALSDigitizer.h:48
 AliEMCALSDigitizer.h:49
 AliEMCALSDigitizer.h:50
 AliEMCALSDigitizer.h:51
 AliEMCALSDigitizer.h:52
 AliEMCALSDigitizer.h:53
 AliEMCALSDigitizer.h:54
 AliEMCALSDigitizer.h:55
 AliEMCALSDigitizer.h:56
 AliEMCALSDigitizer.h:57
 AliEMCALSDigitizer.h:58
 AliEMCALSDigitizer.h:59
 AliEMCALSDigitizer.h:60
 AliEMCALSDigitizer.h:61
 AliEMCALSDigitizer.h:62
 AliEMCALSDigitizer.h:63
 AliEMCALSDigitizer.h:64
 AliEMCALSDigitizer.h:65
 AliEMCALSDigitizer.h:66
 AliEMCALSDigitizer.h:67
 AliEMCALSDigitizer.h:68
 AliEMCALSDigitizer.h:69
 AliEMCALSDigitizer.h:70
 AliEMCALSDigitizer.h:71
 AliEMCALSDigitizer.h:72
 AliEMCALSDigitizer.h:73
 AliEMCALSDigitizer.h:74
 AliEMCALSDigitizer.h:75
 AliEMCALSDigitizer.h:76
 AliEMCALSDigitizer.h:77