]>
Commit | Line | Data |
---|---|---|
2e9f335b | 1 | /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
979b5a5f | 4 | ///////////////////////////////////////////////////////////////////////////// |
5 | // Class used for generating the files containing raw data, // | |
6 | // required for Data Challenge // | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | /* $Id$ */ | |
2e9f335b | 10 | |
11 | #ifndef AliITSDDLRAWDATA_H | |
12 | #define AliITSDDLRAWDATA_H | |
13 | ||
2e9f335b | 14 | class TTree; |
cfe39822 | 15 | class TBranch; |
979b5a5f | 16 | class AliITSDDLModuleMapSDD; |
ad7f2bfa | 17 | class AliITSFOSignalsSPD; |
2e9f335b | 18 | |
19 | class AliITSDDLRawData:public TObject{ | |
20 | public: | |
21 | AliITSDDLRawData();//default constructor | |
22 | virtual ~AliITSDDLRawData(){;}//destructor | |
23 | AliITSDDLRawData(const AliITSDDLRawData &source); // copy constructor | |
24 | AliITSDDLRawData& operator=(const AliITSDDLRawData &source); // ass. op. | |
ad7f2bfa | 25 | Int_t RawDataSPD(TBranch* branch, AliITSFOSignalsSPD* foSignals = NULL); |
2e9f335b | 26 | // This method generates the files with the Silicon pixel detector data |
979b5a5f | 27 | Int_t RawDataSDD(TBranch* branch, AliITSDDLModuleMapSDD* ddlsdd); |
2e9f335b | 28 | // This method generates the files with the Silicon drift detector data |
0421c3d1 | 29 | Int_t RawDataSSD(TBranch* branch); |
a79660fb | 30 | // This method generates the files with the Silicon pixel detector data |
9f992f70 | 31 | void SetVerbose(Int_t Verbose){fVerbose=Verbose;} |
32 | // To set the verbose level | |
d9ed1779 | 33 | void SetSDDRawFormat(Char_t val=7){ |
34 | fSDDRawFormat=val; | |
ad1b4ad1 | 35 | } |
2e9f335b | 36 | private: |
ad7f2bfa | 37 | void GetDigitsSPD(TClonesArray *ITSdigits, Int_t mod,Int_t ddl,UInt_t *buf, AliITSFOSignalsSPD* foSignals = NULL); |
a79660fb | 38 | //This method formats and stores in buf all the digits of a SPD module |
ad1b4ad1 | 39 | void GetDigitsSDDCompressed(TClonesArray *ITSdigits, Int_t mod,UInt_t *buf); |
0b3c7dfc | 40 | void GetDigitsSDD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf); |
a79660fb | 41 | //This method formats and stores in buf all the digits of a SDD module |
0b3c7dfc | 42 | void GetDigitsSSD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf); |
a79660fb | 43 | //This method formats and stores in buf all the digits of a SSD module |
a643f6be | 44 | void WriteChipHeader(Int_t ChipAddr,Int_t halfStave,UInt_t &BaseWord); |
ad7f2bfa | 45 | void WriteChipTrailer(UInt_t *buf, Int_t ChipHitCount, Bool_t foBit, UInt_t &BaseWord); |
0b3c7dfc | 46 | void WriteHit(UInt_t *buf,Int_t RowAddr,Int_t HitAddr,UInt_t &BaseWord); |
a79660fb | 47 | //The three previous methods are used to store the data according to the |
48 | //Silicon pixel detector data format | |
9f992f70 | 49 | Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files) |
0b3c7dfc | 50 | Int_t fIndex; //number of 32 words to be stored into the output file |
a79660fb | 51 | Int_t fHalfStaveModule; //first or second half of an Half Stave module |
d9ed1779 | 52 | Char_t fSDDRawFormat; // index for SDD raw format |
ad1b4ad1 | 53 | |
d9ed1779 | 54 | ClassDef(AliITSDDLRawData,3) |
2e9f335b | 55 | }; |
56 | ||
57 | #endif |