Line data Source code
1 : #ifndef AliITSDDLRAWDATA_H
2 : #define AliITSDDLRAWDATA_H
3 : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /////////////////////////////////////////////////////////////////////////////
7 : // Class used for generating the files containing raw data, //
8 : // required for Data Challenge //
9 : /////////////////////////////////////////////////////////////////////////////
10 :
11 : /* $Id$ */
12 :
13 : class TTree;
14 : class TBranch;
15 : class AliITSDDLModuleMapSDD;
16 : class AliITSFOSignalsSPD;
17 :
18 : class AliITSDDLRawData:public TObject{
19 : public:
20 : AliITSDDLRawData();//default constructor
21 16 : 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, const 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 8 : void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
31 : // To set the verbose level
32 : void SetSDDRawFormat(Char_t val=7){
33 8 : fSDDRawFormat=val;
34 4 : }
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 118 : ClassDef(AliITSDDLRawData,3)
54 : };
55 :
56 : #endif
|