store also difference in local Y
[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
f21fc003 15class AliDigitizationInput;
9ad8b5dd 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();
f21fc003 24 AliITSDigitizer(AliDigitizationInput* digInput);
7d62fb64 25
9ad8b5dd 26 virtual ~AliITSDigitizer();
27 // Standard routines.
28 virtual Bool_t Init();
fd04285a 29 // Perform SDigits to Digits, with or without merging, depending on the
30 // number of files.
f21fc003 31 virtual void Digitize(Option_t* opt=0);
f1888ca5 32 // Sets a particular module active
0b572028 33 virtual void SetModuleActive(Int_t i){if(fModActive) fModActive[i] = kTRUE;}
f1888ca5 34 // Sets a particular module inactive
0b572028 35 virtual void SetModuleInActive(Int_t i){if(fModActive) fModActive[i] = kFALSE;}
fd04285a 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;};
9ad8b5dd 47 private:
ca860b9b 48 AliITSDigitizer(const AliITSDigitizer& dig);
49 AliITSDigitizer& operator=(const AliITSDigitizer &source);
9ad8b5dd 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
f21fc003 56 AliDigitizationInput* GetDigInput(){return fDigInput;}
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.
2a476797 67 Bool_t fFlagFirstEv; //! Flag to control calibration access
9ad8b5dd 68
2a476797 69 ClassDef(AliITSDigitizer,2) // Task to Digitize ITS from summable hits.
9ad8b5dd 70};
71#endif