]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALDigitizer.h
New version of the EMCAL code: bug fixes, new digitisation classes (B.Nilsen)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALDigitizer.h
CommitLineData
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"
17class TArrayI ;
18// --- Standard library ---
19
20// --- AliRoot header files ---
21class AliEMCALSDigitizer ;
22
23
24class AliEMCALDigitizer: public TTask {
25
26public:
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
52private:
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
59private:
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