]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDigitizer.h
No effective C++ option for compilation of C files
[u/mrichter/AliRoot.git] / ITS / AliITSDigitizer.h
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 AliRunDigitizer;
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(AliRunDigitizer *manager);
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 Exec(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     AliRunDigitizer* GetManager(){return fManager;}
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