Partial redesign of identification bits and coding rule corrections
[u/mrichter/AliRoot.git] / PHOS / AliPHOSConTableDB.h
CommitLineData
f74edaba 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//_________________________________________________________________________
cd228525 9// Class for PHOS connection table, i.e. correspondence between
10// "cable number" and PHOS AbsId number.
f74edaba 11//
cd228525 12//*-- Author: D.Peressounko "RRC Kurchatov Institute"
f74edaba 13
14
15// --- ROOT system ---
16#include "TNamed.h"
17class TArrayS ;
18
19// --- Standard library ---
20
21// --- AliRoot header files ---
22class AliPHOSGeometry ;
23
24class AliPHOSConTableDB: public TNamed {
25
26public:
27 AliPHOSConTableDB() ; // ctor
28 AliPHOSConTableDB(const char * title) ; // ctor
540e818b 29
30 AliPHOSConTableDB(const AliPHOSConTableDB & cdb) ; // cpy ctor
f74edaba 31 virtual ~AliPHOSConTableDB() ; // dtor
32
cd228525 33 //Calculate table from known number of raws/columns
f74edaba 34 //assuming that prototype is situated in the center of 3 PHOS mod.
35 void BuildDB(void) ;
cd228525 36 Int_t GetNchanels()const {return fNcrInProto ; }
37 Int_t GetNRaws()const{return fProtoRaws ;}
38 Int_t GetNColumns()const{return fProtoColumns ;}
f74edaba 39
40 //set the number of columns in prototype
41 void SetNCols(Int_t ncolumns){fProtoColumns = ncolumns ;}
42 //Set the number of raw in prototype
43 void SetNRaws(Int_t nraws){fProtoRaws = nraws ;}
44
45 //Plot correspondance between Prototype Id and PHOS
46 //Options are "Zoom" - only proto region is plotted
47 // "PHOS" - presents both PHOS and Proto ids
48 void PlotProtoMap(Option_t * opt="Zoom") ;
49
f74edaba 50 //Transforms channel number in prototype into AbsId number in PHOS
cd228525 51 Int_t Raw2AbsId(Int_t raw)const ;
f74edaba 52
53 //Transforms AbsId number in PHOS into channel number in prototype
cd228525 54 Int_t AbsId2Raw(Int_t AbsId)const ;
f74edaba 55
3845779e 56 virtual void Print(Option_t * option="") const ;
f74edaba 57
cd228525 58
59 AliPHOSConTableDB& operator=(const AliPHOSConTableDB& cdb) ;
60
f74edaba 61private:
cd228525 62 AliPHOSGeometry * fGeom ; //! PHOS geometry class
63
64 Int_t fProtoRaws ; // Parameters
65 Int_t fProtoColumns ; // used to calculate
66 Int_t fRawOffset ; // correspondance
67 Int_t fColOffset ; // map
68 Int_t fNcrInProto ; //Number of channels in prototype
69 Int_t fMinAbsId ; //Minimal AbsId, corresponding to some prototype cristall.
70 Int_t fMaxAbsId ; //Maximal AbsId, corresponding to some prototype cristall
71 TArrayS * fAbsIdMap ; //Map of correspondance between Raw and PHOS ID
72 TArrayS * fRawIdMap ; //Map of correspondance between AbsId and Raw
f74edaba 73
74 ClassDef(AliPHOSConTableDB,1) // description
75
76
77};
78
79#endif // AliPHOSCONTABLEDB_H