]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIITSDIGITIZER_H | |
2 | #define ALIITSDIGITIZER_H | |
3 | /* Copyright (c) 1998-2001, ALICE Experiment at CERN, All rights reserved * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* | |
7 | $Id$ | |
8 | */ | |
9 | ////////////////////////////////////////////////////////////////// | |
10 | // Digitizer class for ITS // | |
11 | ////////////////////////////////////////////////////////////////// | |
12 | class TObjArray; | |
13 | class TTree; | |
14 | ||
15 | class AliDigitizationInput; | |
16 | ||
17 | #include "AliDigitizer.h" // Base class from which this one is derived | |
18 | #include "AliITS.h" // ITS class functions used in inline functions. | |
19 | class AliITSmodule; | |
20 | ||
21 | class AliITSDigitizer : public AliDigitizer{ | |
22 | public: | |
23 | AliITSDigitizer(); | |
24 | AliITSDigitizer(AliDigitizationInput* digInput); | |
25 | ||
26 | virtual ~AliITSDigitizer(); | |
27 | // Standard routines. | |
28 | virtual Bool_t Init(); | |
29 | // Perform SDigits to Digits, with or without merging, depending on the | |
30 | // number of files. | |
31 | virtual void Digitize(Option_t* opt=0); | |
32 | // Sets a particular module active | |
33 | virtual void SetModuleActive(Int_t i){if(fModActive) fModActive[i] = kTRUE;} | |
34 | // Sets a particular module inactive | |
35 | virtual void SetModuleInActive(Int_t i){if(fModActive) fModActive[i] = kFALSE;} | |
36 | // Sets Region of Interst Flag. if fRiof=0 then no Region of Interest | |
37 | // cut applyed | |
38 | virtual void SetByRegionOfInterestFlag(Int_t i=0){fRoif = i;}; | |
39 | // Sets the SDigits file number to be used to define the region of | |
40 | // interest. Default is file=-1, assumed that a region of interest | |
41 | // cut will be applied. A value of 0 means no cut to be applyed. Other | |
42 | // values have yet to be defined. | |
43 | virtual void SetByRegionOfFileNumber(Int_t i=-1){fRoiifile = i;}; | |
44 | // Clears the region of interest flag. Calling this implies that a | |
45 | // Region of interest cut will not be made. | |
46 | virtual void ClearByRegionOfInterestFlag(){fRoif = 0;}; | |
47 | private: | |
48 | AliITSDigitizer(const AliITSDigitizer& dig); | |
49 | AliITSDigitizer& operator=(const AliITSDigitizer &source); | |
50 | // Routines used internaly | |
51 | // Returns a pointer to the TObjecArray of Modules. | |
52 | TObjArray* GetModules(){return fITS->GetModules();} | |
53 | // Returns a pointer to a specific module. | |
54 | AliITSmodule* GetModule(Int_t i){return fITS->GetModule(i);} | |
55 | // Returns a pointer to the manager | |
56 | AliDigitizationInput* GetDigInput(){return fDigInput;} | |
57 | // Sets the region of Interest based on which module have SDigits | |
58 | // Defined (non-noise SDigits). | |
59 | virtual void SetByRegionOfInterest(TTree *ts); | |
60 | private: | |
61 | AliITS *fITS; //! local pointer to ITS | |
62 | Bool_t *fModActive;//! flag to indicate which module to digitize. | |
63 | Bool_t fInit; //! flag to indecate Initilization when well. | |
64 | Int_t fRoif; //! Region of interest flag. | |
65 | Int_t fRoiifile; //! The file number with which to determing the region | |
66 | // of interest from. | |
67 | Bool_t fFlagFirstEv; //! Flag to control calibration access | |
68 | ||
69 | ClassDef(AliITSDigitizer,2) // Task to Digitize ITS from summable hits. | |
70 | }; | |
71 | #endif |