]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDDLRawData.h
Update of slat geometry
[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, required for  Data Challenge //
6 ///////////////////////////////////////////////////////////////////////////////////////////
7
8 #ifndef AliITSDDLRAWDATA_H
9 #define AliITSDDLRAWDATA_H
10
11 class AliITS;
12 class TTree;
13
14 class AliITSDDLRawData:public TObject{
15  public:
16   AliITSDDLRawData();//default constructor
17   virtual ~AliITSDDLRawData(){;}//destructor
18   AliITSDDLRawData(const AliITSDDLRawData &source); // copy constructor
19   AliITSDDLRawData& operator=(const AliITSDDLRawData &source); // ass. op.
20   Int_t RawDataSPD(TBranch* branch);
21   // This method generates the files with the Silicon pixel detector data
22   Int_t RawDataSDD(TBranch* branch); 
23   // This method generates the files with the Silicon drift detector data
24   Int_t RawDataSSD(TBranch* branch);
25   // This method generates the files with the Silicon pixel detector data
26   void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
27   // To set the verbose level
28  private: 
29   void  GetDigitsSPD(TClonesArray *ITSdigits, Int_t mod,Int_t ddl,UInt_t *buf);
30   //This method formats and stores in buf all the digits of a SPD module
31   void  GetDigitsSDD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
32   //This method formats and stores in buf all the digits of a SDD module
33   void  GetDigitsSSD(TClonesArray *ITSdigits, Int_t mod,Int_t modR,Int_t ddl,UInt_t *buf);
34   //This method formats and stores in buf all the digits of a SSD module
35   void  WriteChipHeader(Int_t ChipAddr,Int_t EventCnt,UInt_t &BaseWord);
36   void  WriteChipTrailer(UInt_t *buf,Int_t ChipHitCount,UInt_t &BaseWord);
37   void  WriteHit(UInt_t *buf,Int_t RowAddr,Int_t HitAddr,UInt_t &BaseWord);
38   //The three previous  methods are used to store the data according to the 
39   //Silicon pixel detector data format
40   void  ReadChipHeader(Int_t &ChipAddr,Int_t &EventCnt,UInt_t BaseWord);
41   void  ReadChipTrailer(Int_t &ChipHitCount,UInt_t BaseWord);
42   //Methods used for reading and dubugging SPD data files
43   Int_t fVerbose;            //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
44   Int_t fIndex;             //number of 32 words to be stored into the output file
45   Int_t fHalfStaveModule;     //first or second half of an Half Stave module
46   ClassDef(AliITSDDLRawData,1)
47 };
48     
49 #endif