]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDigitizer.h
new classes for raw data processing (T. Kuhr)
[u/mrichter/AliRoot.git] / ITS / AliITSDigitizer.h
1 #ifndef ALIITSDIGITZER_H
2 #define ALIITSDIGITZER_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 class TObjArray;
11 class TTree;
12
13 class AliRunDigitizer;
14
15 #include "AliDigitizer.h" // Base class from which this one is derived
16 #include "AliITS.h"   // ITS class functions used in inline functions.
17 class AliITSmodule;
18
19 class AliITSDigitizer : public AliDigitizer{
20  public:
21     AliITSDigitizer();
22     AliITSDigitizer(AliRunDigitizer *manager);
23     virtual ~AliITSDigitizer();
24     // Standard routines.
25     virtual Bool_t Init();
26     // Perform SDigits to Digits, with or without merging, depending on the
27     // number of files.
28     virtual void Exec(Option_t* opt=0);
29     // Sets a particular module active
30     virtual void SetModuleActive(Int_t i){if(fModActive) fModActive[i] = kTRUE;}
31     // Sets a particular module inactive
32     virtual void SetModuleInActive(Int_t i){if(fModActive) fModActive[i] = kFALSE;}
33     // Sets Region of Interst Flag. if fRiof=0 then no Region of Interest
34     // cut applyed
35     virtual void SetByRegionOfInterestFlag(Int_t i=0){fRoif = i;};
36     // Sets the SDigits file number to  be used to define the region of 
37     // interest. Default is file=-1, assumed that a region of interest
38     // cut will be applied. A value of 0 means no cut to be applyed. Other
39     // values have yet to be defined.
40     virtual void SetByRegionOfFileNumber(Int_t i=-1){fRoiifile = i;};
41     // Clears the region of interest flag. Calling this implies that a
42     // Region of interest cut will not be made.
43     virtual void ClearByRegionOfInterestFlag(){fRoif = 0;};
44  private:
45     // Routines used internaly
46     // Returns a pointer to the TObjecArray of Modules.
47     TObjArray* GetModules(){return fITS->GetModules();}
48     // Returns a pointer to a  specific module.
49     AliITSmodule* GetModule(Int_t i){return fITS->GetModule(i);}
50     // Returns a pointer to the manager
51     AliRunDigitizer* GetManager(){return fManager;}
52     // Sets the region of Interest based on which module have SDigits
53     // Defined (non-noise SDigits).
54     virtual void SetByRegionOfInterest(TTree *ts);
55  private:
56     AliITS *fITS;      //! local pointer to ITS
57     Bool_t *fModActive;//! flag to indicate which module to digitize.
58     Bool_t  fInit;     //! flag to indecate Initilization when well.
59     Int_t   fRoif;     //! Region of interest flag.
60     Int_t   fRoiifile; //! The file number with which to determing the region
61                        // of interest from.
62
63     ClassDef(AliITSDigitizer,1) // Task to Digitize ITS from summable hits.
64 };
65 #endif