61e0abb5 |
1 | #ifndef ALIEMCALDigitizer_H |
2 | #define ALIEMCALDigitizer_H |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
7 | |
8 | //_________________________________________________________________________ |
9 | // Task Class for making SDigits in EMCAL |
10 | // |
11 | //*-- Author: Dmitri Peressounko(SUBATECH & KI) |
12 | |
13 | |
14 | // --- ROOT system --- |
15 | #include "TTask.h" |
16 | #include "TObjString.h" |
17 | class TArrayI ; |
18 | // --- Standard library --- |
19 | |
20 | // --- AliRoot header files --- |
21 | class AliEMCALSDigitizer ; |
22 | |
23 | |
24 | class AliEMCALDigitizer: public TTask { |
25 | |
26 | public: |
27 | AliEMCALDigitizer() ; // ctor |
28 | AliEMCALDigitizer(const char *headerFile,const char * sDigitsBranchTitle = 0) ; |
29 | virtual ~AliEMCALDigitizer() ; |
30 | |
31 | void Digitize(Option_t *option); // Make Digits from SDigits stored in fSDigits |
32 | void Exec(Option_t *option); // Supervising method |
33 | |
34 | Float_t GetEMCThreshold() const { return fEMCDigitThreshold;} |
35 | Float_t GetPedestal() const { return fPedestal; } |
36 | Float_t GetPinNoise() const { return fPinNoise;} |
37 | Float_t GetSlope() const { return fSlope; } |
38 | char * GetDigitsBranch ()const { return (char*)fDigitsTitle.Data() ;} |
39 | TClonesArray * GetHeadersFiles(){ return fHeaderFiles ;} |
40 | TArrayI* GetCurrentEvents() { return fIevent ;} |
41 | |
42 | void MixWith(char* HeaderFile, char* SDigitsTitle =0) ; // Add another one file to mix |
43 | virtual void Print(Option_t* option)const ; |
44 | void Reset() ; //restarts starts event processing from 0 event(s) |
45 | |
46 | void SetEMCThreshold(Float_t EMCThreshold) {fEMCDigitThreshold = EMCThreshold;} |
47 | void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;} |
48 | |
49 | void SetDigitsBranch (const char* file) ; |
50 | void SetSDigitsBranch(const char* file) ; |
51 | |
52 | private: |
53 | Bool_t Combinator() ; // makes all desirable combination sig+Bg |
54 | void Init(); |
55 | Bool_t ReadSDigits() ; // Read sdigits for particular events |
56 | void WriteDigits() ; // Writes Digits for particular event |
57 | void PrintDigits(Option_t * option) ; |
58 | |
59 | private: |
60 | TClonesArray * fSDigitsTitles ; // Titles of sdigits branches |
61 | TClonesArray * fHeaderFiles ; // Names of files with headers to merge |
62 | TString fDigitsTitle ; // Title of the Digits Branch |
63 | TClonesArray * fSDigits ; // ! Lists of SDigits |
64 | TClonesArray * fDigits ; // ! Final list of digits |
65 | AliEMCALSDigitizer * fSDigitizer ; // ! SDigitizer to extarct some sdigitizing parameters |
66 | Int_t fNinputs ; // Number of input files |
67 | Bool_t fInitialized ; // |
68 | TArrayI * fIevent ; // events to read at the next ReadSDigits() call |
69 | TArrayI * fIeventMax ; // Maximal number of events in each input file |
70 | |
71 | Float_t fPedestal ; // Calibration parameters |
72 | Float_t fSlope ; // read from SDigitizer |
73 | |
74 | Float_t fPinNoise ; // Electronics noise in EMC |
75 | Float_t fEMCDigitThreshold ; // Threshold for storing digits in EMC |
76 | |
77 | |
78 | ClassDef(AliEMCALDigitizer,1) // description |
79 | |
80 | }; |
81 | |
82 | |
83 | #endif // AliEMCALDigitizer_H |