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, //
6 // required for Data Challenge //
7 /////////////////////////////////////////////////////////////////////////////
11 #ifndef AliITSDDLRAWDATA_H
12 #define AliITSDDLRAWDATA_H
16 class AliITSDDLModuleMapSDD;
17 class AliITSFOSignalsSPD;
19 class AliITSDDLRawData:public TObject{
21 AliITSDDLRawData();//default constructor
22 virtual ~AliITSDDLRawData(){;}//destructor
23 AliITSDDLRawData(const AliITSDDLRawData &source); // copy constructor
24 AliITSDDLRawData& operator=(const AliITSDDLRawData &source); // ass. op.
25 Int_t RawDataSPD(TBranch* branch, AliITSFOSignalsSPD* foSignals = NULL);
26 // This method generates the files with the Silicon pixel detector data
27 Int_t RawDataSDD(TBranch* branch, AliITSDDLModuleMapSDD* ddlsdd);
28 // This method generates the files with the Silicon drift detector data
29 Int_t RawDataSSD(TBranch* branch);
30 // This method generates the files with the Silicon pixel detector data
31 void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
32 // To set the verbose level
33 void SetSDDRawFormat(Char_t val=7){
37 void GetDigitsSPD(TClonesArray *ITSdigits, Int_t mod,Int_t ddl,UInt_t *buf, AliITSFOSignalsSPD* foSignals = NULL);
38 //This method formats and stores in buf all the digits of a SPD module
39 void GetDigitsSDDCompressed(TClonesArray *ITSdigits, Int_t mod,UInt_t *buf);
40 void GetDigitsSDD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
41 //This method formats and stores in buf all the digits of a SDD module
42 void GetDigitsSSD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
43 //This method formats and stores in buf all the digits of a SSD module
44 void WriteChipHeader(Int_t ChipAddr,Int_t halfStave,UInt_t &BaseWord);
45 void WriteChipTrailer(UInt_t *buf, Int_t ChipHitCount, Bool_t foBit, UInt_t &BaseWord);
46 void WriteHit(UInt_t *buf,Int_t RowAddr,Int_t HitAddr,UInt_t &BaseWord);
47 //The three previous methods are used to store the data according to the
48 //Silicon pixel detector data format
49 Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
50 Int_t fIndex; //number of 32 words to be stored into the output file
51 Int_t fHalfStaveModule; //first or second half of an Half Stave module
52 Char_t fSDDRawFormat; // index for SDD raw format
54 ClassDef(AliITSDDLRawData,3)