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