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