New ITS SDigit merging with region of interest cut. Update for changes in
[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
12 #include <TClonesArray.h> // function of this class used in inline functions.
13
14 class AliRunDigitizer;
15
16 #include "AliDigitizer.h" // Base class from which this one is derived
17 #include "AliITS.h"   // ITS class functions used in inline functions.
18 class AliITShit;
19 class AliITSmodule;
20
21 class AliITSDigitizer : public AliDigitizer{
22  public:
23     AliITSDigitizer();
24     AliITSDigitizer(AliRunDigitizer *manager);
25     virtual ~AliITSDigitizer();
26     // Standard routines.
27     virtual Bool_t Init();
28     virtual Bool_t Init(const char *filename);
29     virtual void Exec(Option_t* opt=0);
30     // Sets a particular module active
31     virtual void SetModuleActive(Int_t i){if(fActive) fActive[i] = kTRUE;}
32     // Sets a particular module inactive
33     virtual void SetModuleInActive(Int_t i){if(fActive) fActive[i] = kFALSE;}
34     virtual void SetByRegionOfInterest(Int_t i=0){fRoif = i;};
35     virtual void SetByRegionOfFileNumber(Int_t i=0){fRoiifile = i;};
36     virtual void ClearByRegionOfInterest(){fRoif = -1;};
37  private:
38     // Routines used internaly
39     TClonesArray* GetHits(){return fITS->Hits();}
40     AliITShit* GetHit(Int_t h){return (AliITShit*)(GetHits()->UncheckedAt(h));}
41     TObjArray* GetModules(){return fITS->GetModules();}
42     AliITSmodule* GetModule(Int_t i){return fITS->GetModule(i);}
43     AliRunDigitizer* GetManager(){return fManager;}
44     virtual void SetByRegionOfInterest(TTree *ts);
45  private:
46     AliITS *fITS;  //! local pointer to ITS
47     Bool_t *fActive; //! flag to indicate which module to digitize.
48     Int_t   fRoif;  //! Region of interest flag.
49     Int_t   fRoiifile; //! The file number with which to determing the region
50                        // of interest from.
51
52     ClassDef(AliITSDigitizer,1) // Task to Digitize ITS from summable hits.
53 };
54 #endif