]>
Commit | Line | Data |
---|---|---|
f74edaba | 1 | #ifndef ALIPHOSRAW2DIGITS_H |
2 | #define ALIPHOSRAW2DIGITS_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $id */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Base Class for PHOS | |
10 | // | |
11 | /*-- Author: Maxim Volkov (RRC KI) | |
12 | Dmitri Peressounko (RRC KI & SUBATECH) | |
13 | Yuri Kharlov (IHEP & SUBATECH) */ | |
14 | ||
15 | // --- ROOT system --- | |
16 | #include "TTask.h" | |
17 | class TClonesArray ; | |
18 | ||
19 | // --- Standard library --- | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | class AliPHOSGeometry ; | |
23 | class AliPHOSBeamTestEvent ; | |
24 | class AliPHOSConTableDB ; | |
25 | ||
26 | class AliPHOSRaw2Digits : public TTask { | |
27 | ||
28 | public: | |
29 | AliPHOSRaw2Digits() ; // ctor | |
ddaf8726 | 30 | AliPHOSRaw2Digits(const char * inputFileName,Bool_t toSplit = kTRUE) ; |
f74edaba | 31 | virtual ~AliPHOSRaw2Digits() ; // dtor |
32 | ||
33 | void Exec(Option_t *option) ; | |
34 | ||
ddaf8726 | 35 | void SetBeamEnergy(Float_t energy){fBeamEnergy = energy ;} |
f74edaba | 36 | void SetInputFile(TString inname="Run_1234.fz"){fInName=inname ; } |
37 | void SetDebugLevel(Int_t idebug=1){fDebug=idebug ;} | |
38 | ||
39 | //Set position of the target in the given run. | |
40 | //The reference system is following | |
41 | //Z axis along beam direction, from target to prototype (0-surface of prototype) | |
42 | //X axis along columns of prototype (0-center of prototype) | |
43 | //Y axis along raws of prototype (0-center of prototype) | |
44 | void SetTargetPosition(Double_t * pos) | |
45 | {for(Int_t i=0;i<3;i++)fTarget[i]=pos[i] ;} | |
46 | void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;} | |
ddaf8726 | 47 | void SetMaxEventsPerFile(Int_t nev=20000){fMaxPerFile = nev ;} |
f74edaba | 48 | void Print(Option_t *option="")const ; |
49 | ||
ddaf8726 | 50 | private: |
51 | Bool_t StartRootFiles(void) ; | |
52 | Bool_t CloseRootFiles(void) ; | |
53 | ||
f74edaba | 54 | private: |
55 | void FinishRun() ; | |
56 | Bool_t ProcessRawFile() ; | |
57 | void Swab4(void *from, void *to, size_t nwords) ; | |
58 | void Swab2(void *from, void *to, size_t nwords) ; | |
59 | Bool_t Init() ; | |
60 | void WriteDigits(void) ; | |
61 | ||
62 | TClonesArray * fDigits ; //!list of final digits | |
63 | AliPHOSBeamTestEvent * fPHOSHeader ; //! | |
64 | AliPHOSConTableDB * fctdb ; //! | |
65 | Double_t fTarget[3] ; //!Position of the target | |
ddaf8726 | 66 | TFile * fHeaderFile ; //!galice.root file |
67 | TFile * fDigitsFile ; //!file with digits | |
68 | Float_t fBeamEnergy ; //BeamEnergy | |
69 | Int_t fMaxPerFile ; //!Maximal number of events per root file | |
f74edaba | 70 | Int_t fEvent ; // |
71 | Int_t fStatus ; //status of input file: OK, not found etc. | |
72 | TString fInName ; // FileName of the input file | |
73 | Bool_t fDebug ; //! | |
74 | Bool_t fIsInitialized ; //! | |
ddaf8726 | 75 | Bool_t fToSplit ; //To produce splitted output |
f74edaba | 76 | UInt_t fMK1 ; //!ZEBRA markers |
77 | UInt_t fMK2 ; //! | |
78 | UInt_t fMK3 ; //! | |
79 | UInt_t fMK4 ; //! | |
80 | UInt_t fCKW ; //! | |
81 | ||
82 | ClassDef(AliPHOSRaw2Digits,1) // description | |
83 | ||
84 | }; | |
85 | ||
86 | #endif // AliPHOSRAW2DIGITS_H |