]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSDDLRawData.h
Access to the internal decayer
[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 TBranch;
16 class AliITSDDLModuleMapSDD;
17 class AliITSFOSignalsSPD;
18
19 class AliITSDDLRawData:public TObject{
20  public:
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){
34     fSDDRawFormat=val;
35   }
36  private: 
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
53
54   ClassDef(AliITSDDLRawData,3)
55 };
56     
57 #endif