1 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 ///////////////////////////////////////////////////////////////////////////////////////////
5 // Class used for generating the files containing raw data, required for Data Challenge //
6 ///////////////////////////////////////////////////////////////////////////////////////////
8 #ifndef AliITSDDLRAWDATA_H
9 #define AliITSDDLRAWDATA_H
13 class AliITSDDLRawData:public TObject{
15 AliITSDDLRawData();//default constructor
16 virtual ~AliITSDDLRawData(){;}//destructor
17 AliITSDDLRawData(const AliITSDDLRawData &source); // copy constructor
18 AliITSDDLRawData& operator=(const AliITSDDLRawData &source); // ass. op.
19 Int_t RawDataSPD(TBranch* branch);
20 // This method generates the files with the Silicon pixel detector data
21 Int_t RawDataSDD(TBranch* branch);
22 // This method generates the files with the Silicon drift detector data
23 Int_t RawDataSSD(TBranch* branch);
24 // This method generates the files with the Silicon pixel detector data
25 void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
26 // To set the verbose level
28 void GetDigitsSPD(TClonesArray *ITSdigits, Int_t mod,Int_t ddl,UInt_t *buf);
29 //This method formats and stores in buf all the digits of a SPD module
30 void GetDigitsSDD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
31 //This method formats and stores in buf all the digits of a SDD module
32 void GetDigitsSSD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
33 //This method formats and stores in buf all the digits of a SSD module
34 void WriteChipHeader(Int_t ChipAddr,Int_t EventCnt,UInt_t &BaseWord);
35 void WriteChipTrailer(UInt_t *buf,Int_t ChipHitCount,UInt_t &BaseWord);
36 void WriteHit(UInt_t *buf,Int_t RowAddr,Int_t HitAddr,UInt_t &BaseWord);
37 //The three previous methods are used to store the data according to the
38 //Silicon pixel detector data format
39 void ReadChipHeader(Int_t &ChipAddr,Int_t &EventCnt,UInt_t BaseWord);
40 void ReadChipTrailer(Int_t &ChipHitCount,UInt_t BaseWord);
41 //Methods used for reading and dubugging SPD data files
42 Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
43 Int_t fIndex; //number of 32 words to be stored into the output file
44 Int_t fHalfStaveModule; //first or second half of an Half Stave module
45 ClassDef(AliITSDDLRawData,1)