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