Line data Source code
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 0 : virtual void SetModuleActive(Int_t i){if(fModActive) fModActive[i] = kTRUE;}
34 : // Sets a particular module inactive
35 0 : 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 0 : 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 0 : 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 0 : 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 0 : 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 116 : ClassDef(AliITSDigitizer,2) // Task to Digitize ITS from summable hits.
70 : };
71 : #endif
|