Bug in evaluation absId fixed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSConTableDB.h
1 #ifndef ALIPHOSCONTABLEDB_H
2 #define ALIPHOSCONTABLEDB_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: (SUBATECH)
12
13
14 // --- ROOT system ---
15 #include "TNamed.h"
16 class TArrayS ;
17
18 // --- Standard library ---
19
20 // --- AliRoot header files ---
21 class AliPHOSGeometry ;
22
23 class AliPHOSConTableDB: public TNamed {
24
25 public:
26   AliPHOSConTableDB() ;          // ctor
27   AliPHOSConTableDB(const char * title) ;          // ctor
28   virtual ~AliPHOSConTableDB() ; // dtor
29
30   //Calculate table from known numbe of raws/columns 
31   //assuming that prototype is situated in the center of 3 PHOS mod.
32   void BuildDB(void) ;
33   Int_t GetNchanels(){return fNcrInProto ; } 
34   Int_t GetNRaws(){return fProtoRaws ;} 
35   Int_t GetNColumns(){return fProtoColumns ;}
36
37   //set the number of columns in prototype
38   void SetNCols(Int_t ncolumns){fProtoColumns = ncolumns ;}
39   //Set the number of raw in prototype
40   void SetNRaws(Int_t nraws){fProtoRaws = nraws ;}
41
42   //Plot correspondance between Prototype Id and PHOS
43   //Options are "Zoom" - only proto region is plotted
44   //            "PHOS" - presents both PHOS and Proto ids
45   void PlotProtoMap(Option_t * opt="Zoom") ; 
46
47   //Transforms channel number in prototype into AbsId number in PHOS
48   Int_t Raw2AbsId(Int_t raw) ;
49
50   //Transforms AbsId number in PHOS into channel number in prototype 
51   Int_t AbsId2Raw(Int_t AbsId) ;
52
53   virtual void Print(Option_t * option="") const ;
54
55 private:
56   AliPHOSGeometry * fGeom ;   //!
57
58   Int_t     fProtoRaws ;        //Parameters
59   Int_t     fProtoColumns ;     //used to calculate
60   Int_t     fRawOffset ;        //correspondance
61   Int_t     fColOffset ;        //map
62   Int_t     fNcrInProto ;    //Number of channels in prototype
63   Int_t     fMinAbsId ;
64   Int_t     fMaxAbsId ;
65   TArrayS * fAbsIdMap ;      //Map of correspondance between Raw and PHOS ID
66   TArrayS * fRawIdMap ;      //Map of correspondance between AbsId and Raw
67
68   ClassDef(AliPHOSConTableDB,1)  // description 
69
70
71 };
72
73 #endif // AliPHOSCONTABLEDB_H