]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDDLRawData.h
bugfix: correctly handle steering events in order to avoid warning 'Data source compo...
[u/mrichter/AliRoot.git] / ITS / AliITSDDLRawData.h
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
17 class AliITSDDLRawData:public TObject{
18  public:
19   AliITSDDLRawData();//default constructor
20   virtual ~AliITSDDLRawData(){;}//destructor
21   AliITSDDLRawData(const AliITSDDLRawData &source); // copy constructor
22   AliITSDDLRawData& operator=(const AliITSDDLRawData &source); // ass. op.
23   Int_t RawDataSPD(TBranch* branch);
24   // This method generates the files with the Silicon pixel detector data
25   Int_t RawDataSDD(TBranch* branch, AliITSDDLModuleMapSDD* ddlsdd); 
26   // This method generates the files with the Silicon drift detector data
27   Int_t RawDataSSD(TBranch* branch);
28   // This method generates the files with the Silicon pixel detector data
29   void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
30   // To set the verbose level
31   void SetUseCompressedSDDFormat(Bool_t opt=kFALSE){
32     fUseCompressedSDDFormat=opt;
33   }
34  private: 
35   void  GetDigitsSPD(TClonesArray *ITSdigits, Int_t mod,Int_t ddl,UInt_t *buf);
36   //This method formats and stores in buf all the digits of a SPD module
37   void  GetDigitsSDDCompressed(TClonesArray *ITSdigits, Int_t mod,UInt_t *buf);
38   void  GetDigitsSDD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
39   //This method formats and stores in buf all the digits of a SDD module
40   void  GetDigitsSSD(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 SSD module
42   void  WriteChipHeader(Int_t ChipAddr,Int_t halfStave,UInt_t &BaseWord);
43   void  WriteChipTrailer(UInt_t *buf,Int_t ChipHitCount,UInt_t &BaseWord);
44   void  WriteHit(UInt_t *buf,Int_t RowAddr,Int_t HitAddr,UInt_t &BaseWord);
45   //The three previous  methods are used to store the data according to the 
46   //Silicon pixel detector data format
47   Int_t fVerbose;            //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
48   Int_t fIndex;             //number of 32 words to be stored into the output file
49   Int_t fHalfStaveModule;     //first or second half of an Half Stave module
50   Bool_t fUseCompressedSDDFormat;  // flag for use the compressed SDD raw data format
51
52   ClassDef(AliITSDDLRawData,2)
53 };
54     
55 #endif