Partial redesign of identification bits and coding rule corrections
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibrManager.h
1 #ifndef ALIPHOSCALIBRMANAGER_H
2 #define ALIPHOSCALIBRMANAGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7
8 //_________________________________________________________________________    
9 //                  
10 //*-- Author: D.Peressounko (RRC KI & SUBATECH)
11
12
13 // --- ROOT system ---
14 #include "TNamed.h"
15 #include "TString.h" 
16 class TArrayF ; 
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20 class AliPHOSConTableDB ;
21 class AliPHOSCalibrationData ;
22
23 class AliPHOSCalibrManager:public TNamed {
24
25 public:
26   AliPHOSCalibrManager() ;          // ctor
27   AliPHOSCalibrManager(const AliPHOSCalibrManager & manager) {
28     // cpy ctor: no need
29     // requested by the Coding Convention
30     Fatal("cpy ctor", "not implemented") ;
31   }
32  
33   virtual ~AliPHOSCalibrManager() ; // dtor
34   static AliPHOSCalibrManager * GetInstance() ;
35   static AliPHOSCalibrManager * GetInstance(const char * dbfilename ) ; 
36
37   //To know correspondance when reads list of gains from ascii file 
38   void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb; }
39
40   //Read gains of pedestals from ascii file
41   void ReadFromASCII(AliPHOSCalibrationData & data,const char * filename = "gains.dat") ;
42
43   void ReadFromRoot(AliPHOSCalibrationData &data,Int_t run) ;
44
45   void WriteData(AliPHOSCalibrationData *data) ;
46
47   AliPHOSCalibrManager & operator = (const AliPHOSCalibrManager & right) ;
48
49 private:
50   AliPHOSCalibrManager(const char* filename) ;          
51
52 private:
53   TString   fFileName ;        //Name of file with calibration data
54   AliPHOSConTableDB * fctdb ;  //! Connection table of PHOS
55   static AliPHOSCalibrManager * fgCaMa ; // pointer to the unique instance of singleton
56             
57  
58   ClassDef(AliPHOSCalibrManager,1)  // description 
59
60 };
61
62 #endif // AliPHOSCALIBRMANAGER_H