3 #ifndef ALIL3RAWDATAFILEHANDLER_H
4 #define ALIL3RAWDATAFILEHANDLER_H
6 #include "AliL3MemHandler.h"
8 class AliL3RawDataFileHandler:public AliL3MemHandler{
13 ifstream *fInRawPed;//!
16 //found in mapping file
18 Byte_t *fRow;//! //store the channeln to row mapping
19 Byte_t *fPad;//! //store the channel to pad mapping
20 Short_t **fRowPad;//! //store the row-and-pad to channel mapping
22 Int_t fRowMinUsed; //min row val (found from mapping)
23 Int_t fRowMaxUsed; //max row val (found from mapping)
24 Int_t fPadMinUsed; //min pad val (found from mapping)
25 Int_t fPadMaxUsed; //max pad val (found from mapping)
26 Int_t fNPads[159]; //pads used (found from mapping)
27 Int_t fNTimeBins; //stored in data header
29 Short_t **fPedestals;//! pedestal values, if not used, fPedVal is used
33 Int_t Convert4(Int_t i); //big2little and vice versa
34 Short_t Convert2(Short_t i); //big2little and vice versa
37 AliL3RawDataFileHandler();
38 virtual ~AliL3RawDataFileHandler();
40 void FreeAll(); //like AliL3MemHandler::Free() or AliL3FileHandler::FreeDigitsTree
42 Bool_t SetRawInput(Char_t *name);
43 Bool_t SetRawInput(ifstream *file);
46 Short_t** GetRawData(Int_t &channels, Int_t & timebins);
48 Bool_t SetRawOutput(Char_t *name);
49 Bool_t SetRawOutput(ofstream *file);
50 void CloseRawOutput();
51 Int_t StoreRawData(Short_t **charges);
53 Bool_t SetMappingFile(Char_t *name);
54 Bool_t SetMappingFile(FILE *file);
55 void CloseMappingFile();
56 Int_t ReadMappingFile();
58 Bool_t SetRawPedestalsInput(Char_t *name);
59 Bool_t SetRawPedestalsInput(ifstream *file);
60 void CloseRawPedestalsInput();
61 Int_t ReadRawPedestalsInput();
63 void SetBig2Little(Bool_t b){fConvert=b;}
64 void SetPedVal(Short_t val){fPedVal=val;}
66 Int_t GetRowMinUsed(){return fRowMinUsed;} //smallest row number used in the test
67 Int_t GetRowMaxUsed(){return fRowMaxUsed;} //hightest row number used in the test
68 Int_t GetPadMinUsed(){return fPadMinUsed;}
69 Int_t GetPadMaxUsed(){return fPadMaxUsed;}
70 Short_t GetPedVal(){return fPedVal;}
71 Int_t GetNChannels(){return fNChannels;}
72 //Int_t GetNTimeBins(){return fNTimeBins;}
74 AliL3DigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
76 ClassDef(AliL3RawDataFileHandler,1) //RawData Filehandler class