]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSRaw2Digits.h
Fixing coding violations
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRaw2Digits.h
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
30   AliPHOSRaw2Digits(const char * inputFileName) ;         
31   AliPHOSRaw2Digits(AliPHOSRaw2Digits & r2d) ;          // cpy ctor
32   virtual ~AliPHOSRaw2Digits() ; // dtor
33
34   void Exec() ;
35
36   void SetBeamEnergy(Float_t energy){fBeamEnergy = energy ;}
37   void SetInputFile(TString inname="Run_1234.fz"){fInName=inname ; }
38   void SetDebugLevel(Int_t idebug=1){fDebug=idebug ;}
39
40   //Set position of the target in the given run.
41   //The reference system is following
42   //Z axis along beam direction, from target to prototype (0-surface of prototype)
43   //X axis along columns of prototype (0-center of prototype)
44   //Y axis along raws of prototype    (0-center of prototype)
45   void SetTargetPosition(Double_t * pos)
46     {for(Int_t i=0;i<3;i++)fTarget[i]=pos[i] ;}
47   void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
48   void SetMaxEventsPerFile(Int_t nev=20000){fMaxPerFile = nev ;}
49   void Print()const ;
50   AliPHOSRaw2Digits & operator = ( AliPHOSRaw2Digits & /*r2d*/ ) { return *this ; } 
51   
52 private:
53   Bool_t StartRootFiles(void) const ;
54   Bool_t CloseRootFiles(void) ;
55   Bool_t ProcessRawFile() ;
56   void Swab4(void *from, void *to, size_t nwords) const ;
57   void Swab2(void *from, void *to, size_t nwords) const ;
58   Bool_t Init() ;
59   void WriteDigits(void) ;
60
61   TClonesArray * fDigits ;             //!list of final digits
62   AliPHOSBeamTestEvent * fPHOSHeader ; //!PHOSBeamTest header 
63   AliPHOSConTableDB * fctdb ;          //!
64   Double_t fTarget[3] ;                //!Position of the target
65   TFile * fHeaderFile ;                //!galice.root file
66   TFile * fDigitsFile ;                //!file with digits
67   Float_t fBeamEnergy ;    //BeamEnergy 
68   Int_t   fMaxPerFile ;    //!Maximal number  of events per root file
69   Int_t   fEvent ;         //Event number
70   Int_t   fStatus ;        //status of input file: OK, not found etc.
71   TString fInName ;        // FileName of the input file
72   Bool_t  fDebug ;         //!
73   Bool_t  fIsInitialized ; //!
74  
75   UInt_t  fMK1 ;     //!ZEBRA markers
76   UInt_t  fMK2 ;     //!ZEBRA markers
77   UInt_t  fMK3 ;     //!ZEBRA markers
78   UInt_t  fMK4 ;     //!ZEBRA markers
79   UInt_t  fCKW ;     //!ZEBRA markers
80
81   ClassDef(AliPHOSRaw2Digits,1)  // description 
82
83 };
84
85 #endif // AliPHOSRAW2DIGITS_H