]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFCalOnline.cxx
Updated version of the HMPID DA. To be checked on real data by the experts and then...
[u/mrichter/AliRoot.git] / TOF / AliTOFCalOnline.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /*
17 $Log$
18 */  
19
20 ///////////////////////////////////////////////////////////////////////////////
21 //                                                                           //
22 // class for TOF online calibration : array of AliTOFChannelOnline           //
23 //                                                                           //
24 ///////////////////////////////////////////////////////////////////////////////
25
26 #include "TROOT.h"
27
28 #include "AliLog.h"
29
30 #include "AliTOFCalOnline.h"
31 #include "AliTOFGeometryV5.h"
32
33 extern TROOT *gROOT;
34
35 ClassImp(AliTOFCalOnline)
36
37 //________________________________________________________________
38
39 AliTOFCalOnline::AliTOFCalOnline():
40   TObject(),
41   fNSector(0),
42   fNPlate(0),
43   fNStripA(0),
44   fNStripB(0),
45   fNStripC(0),
46   fNpadZ(0),
47   fNpadX(0),
48   fnpad(0),
49   fGeom(0x0),
50   fPads(0x0)
51 {
52   //main ctor
53  }
54 //________________________________________________________________
55
56 AliTOFCalOnline::AliTOFCalOnline(AliTOFGeometry *geom):
57   TObject(),
58   fNSector(0),
59   fNPlate(0),
60   fNStripA(0),
61   fNStripB(0),
62   fNStripC(0),
63   fNpadZ(0),
64   fNpadX(0),
65   fnpad(0),
66   fGeom(geom),
67   fPads(0x0)
68 {
69   //ctor with geom
70   fNSector = fGeom->NSectors();
71   fNPlate  = fGeom->NPlates();
72   fNStripA = fGeom->NStripA();
73   fNStripB = fGeom->NStripB();
74   fNStripC = fGeom->NStripC();
75   fNpadZ = fGeom->NpadZ();
76   fNpadX = fGeom->NpadX();
77   fnpad = fNSector*(2*(fNStripC+fNStripB)+fNStripA)*fNpadZ*fNpadX;
78 }
79 //________________________________________________________________
80
81 AliTOFCalOnline::AliTOFCalOnline(const AliTOFCalOnline& cal):
82   TObject(cal),
83   fNSector(0),
84   fNPlate(0),
85   fNStripA(0),
86   fNStripB(0),
87   fNStripC(0),
88   fNpadZ(0),
89   fNpadX(0),
90   fnpad(0),
91   fGeom(0x0),
92   fPads(0x0)  
93 {
94     //copy ctor 
95     fNSector = cal.fNSector;
96     fNPlate = cal.fNPlate;
97     fNStripA = cal.fNStripA;
98     fNStripB = cal.fNStripB;
99     fNStripC = cal.fNStripC;
100     fNpadZ = cal.fNpadZ;
101     fNpadX = cal.fNpadX;
102     fnpad = cal.fnpad;
103     for (Int_t i = 0; i<fnpad; i++){
104       fPads[i]=cal.fPads[i];
105     }
106   }
107 //____________________________________________________________________________ 
108 AliTOFCalOnline& AliTOFCalOnline::operator=(const AliTOFCalOnline& cal)
109   {
110     //assignment operator
111     this->fNSector = cal.fNSector;
112     this->fNPlate = cal.fNPlate;
113     this->fNStripA = cal.fNStripA;
114     this->fNStripB = cal.fNStripB;
115     this->fNStripC = cal.fNStripC;
116     this->fNpadZ = cal.fNpadZ;
117     this->fNpadX = cal.fNpadX;
118     this->fnpad = cal.fnpad;
119     for (Int_t i = 0; i<fnpad; i++){
120       this->fPads[i]=cal.fPads[i];
121     }
122     return *this;
123
124   }
125 //____________________________________________________________________________ 
126 AliTOFCalOnline::~AliTOFCalOnline()
127 {
128   //dtor
129   delete [] fPads;
130 }
131 //________________________________________________________________
132
133 void AliTOFCalOnline::CreateArray(){
134   //create cal channel array
135   if(fGeom==0x0){
136     AliInfo("V5 TOF Geometry is taken as a default");
137     AliTOFGeometry *geom= new AliTOFGeometryV5();
138     fNSector = geom->NSectors();
139     fNPlate  = geom->NPlates();
140     fNStripA = geom->NStripA();
141     fNStripB = geom->NStripB();
142     fNStripC = geom->NStripC();
143     fNpadZ = geom->NpadZ();
144     fNpadX = geom->NpadX();
145     fnpad = fNSector*(2*(fNStripC+fNStripB)+fNStripA)*fNpadZ*fNpadX;
146     delete geom;
147   }
148   fPads= new AliTOFChannelOnline[fnpad];
149 }