1 #ifndef ALIITSBEAMTESTDIGITIZER_H
2 #define ALIITSBEAMTESTDIGITIZER_H
4 ////////////////////////////////////////////////////
5 // Class to manage the //
6 // ITS beam test conversion from rawdata //
7 // to digits. It executes the digitization for //
8 // SPD, SDD and SSD. //
9 // Origin: E. Crescio crescio@to.infn.it //
10 // J. Conrad Jan.Conrad@cern.ch //
12 // The choice of the beam test period is by //
13 // deafult Nov04 (Integrated ITS beam test of //
14 // November 2004). To choose the SDD beam test //
15 // of August 2004 call the constructor: //
16 // AliITSBeamTestDigitizer("name","title","Aug04"//
18 ////////////////////////////////////////////////////
22 class AliITSBeamTestDigSDD;
23 class AliRawReaderDate;
27 class AliITSEventHeader;
28 class AliRawDataHeader;
31 class AliITSBeamTestDigitizer : public TTask {
35 AliITSBeamTestDigitizer();
36 AliITSBeamTestDigitizer(const Text_t* name,const Text_t* title,
38 AliITSBeamTestDigitizer(const Text_t* name,const Text_t* title,
39 Int_t run,Char_t* opt="Nov04");
40 AliITSBeamTestDigitizer(const char* filename);
41 AliITSBeamTestDigitizer(const AliITSBeamTestDigitizer& bt);
42 AliITSBeamTestDigitizer& operator=(const AliITSBeamTestDigitizer &source);
44 virtual ~AliITSBeamTestDigitizer();
46 void SetDigitsFileName(const TString& name) {fDigitsFileName=name;}
47 void SetRawdataFileName(const TString& name) {fRawdataFileName=name;}
48 void SetNumberOfEventsPerFile(Int_t nev);
50 void SetStartEventNumber(Int_t evin) {fEvIn=evin;}
51 void SetStopEventNumber(Int_t evfin) {fEvFin=evfin;}
52 void SetFlagHeader(Bool_t flag=kFALSE){fFlagHeader=flag;}
53 void SetFlagInit(Bool_t flag=kFALSE){fFlagInit=flag;}
54 void SelectEvents(Int_t eventtype) {fDATEEvType=eventtype;}
55 void SetBeamTestPeriod(BeamtestPeriod_t per=kNov04) {fPeriod=per;}
56 void SetRunNumber(Int_t run) {fRunNumber=run;}
57 void SetOptDate(Bool_t opt=kFALSE) {fOptDate=opt;}
59 void SetBeamTestGeometry(AliITS* bt){fBt=bt;}
61 void SetActive(const TString& subdet,Bool_t value);
63 void ExecDigitization();
66 Int_t GetRunNumber() const {return fRunNumber;}
67 Bool_t GetFlagInit() const {return fFlagInit;}
68 Bool_t GetOptDate() const {return fOptDate;}
69 BeamtestPeriod_t GetBeamTestPeriod() const {return fPeriod;}
70 AliITS* GetBeamTestGeometry() const {return fBt;}
75 Int_t fEvIn; //starting event to be read
76 Int_t fEvFin; //last event to be read
77 Int_t fRunNumber; //run number
78 Int_t fDATEEvType; //date eventtype (JC)
80 Bool_t fFlagHeader; //flag for the hader
81 Bool_t fFlagInit; //flag for initialization
82 Bool_t fOptDate; //option for reading date format files
83 //(default: reads root files)
85 TString fDigitsFileName; //Digits file name
86 TString fRawdataFileName; //Raw data file name
87 BeamtestPeriod_t fPeriod; //Beam test period
89 AliITS* fBt; //! Local pointer to ITS geometry.
91 AliRunLoader* fRunLoader; // Local pointer to run loader
92 AliITSLoader* fLoader; // Pointer to ITS loader
94 const AliRawDataHeader* fHeader; //!current data header
96 static const TString fgkDefaultDigitsFileName; // default name for dig. file
98 ClassDef(AliITSBeamTestDigitizer,2) // An Alice SDD beam test digitization class