1 #ifndef ALIPHOSSDigitizer_H
2 #define ALIPHOSSDigitizer_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Task Class for making SDigits in PHOS
10 // A Summable Digits is the sum of all hits originating
11 // from one primary in one active cell
13 //*-- Author: Dmitri Peressounko(SUBATECH & KI)
16 // --- ROOT system ---
21 // --- Standard library ---
23 // --- AliRoot header files ---
25 class AliPHOSSDigitizer: public TTask {
28 AliPHOSSDigitizer() ; // ctor
29 AliPHOSSDigitizer(const char* HeaderFile,const char *SdigitsTitle = "Default") ;
30 virtual ~AliPHOSSDigitizer() ; // dtor
32 Float_t Calibrate(Int_t amp)const {return (amp - fA)/fB ; }
33 Int_t Digitize(Float_t Energy)const { return (Int_t ) ( fA + Energy*fB); }
34 virtual void Exec(Option_t *option);
35 const char * GetSDigitsBranch()const{return GetName();}
36 const Int_t GetSDigitsInRun() const {return fSDigitsInRun ;}
37 virtual void Print(Option_t* option) const ;
38 void SetSDigitsBranch(const char * title ) ;
39 void SetSplitFile(const TString splitFileName = "PHOS.SDigits.root") ;
40 void UseHitsFrom(const char * filename) ;
41 Bool_t operator == (const AliPHOSSDigitizer & sd) const ;
45 void InitParameters() ;
46 void PrintSDigits(Option_t * option) ;
50 Float_t fA ; // Pedestal parameter
51 Float_t fB ; // Slope Digitizition parameters
52 Bool_t fDefaultInit; //! Says if the task was created by defaut ctor (only parameters are initialized)
53 Float_t fPrimThreshold ; // To store primari if Elos > threshold
54 Int_t fSDigitsInRun ; //! Total number of sdigits in one run
55 TFile * fSplitFile ; //! file in which SDigits will eventually be stored
57 ClassDef(AliPHOSSDigitizer,1) // description
61 #endif // AliPHOSSDigitizer_H