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