corrected TRD/TOF MV position
[u/mrichter/AliRoot.git] / TOF / AliTOFCalPlateB.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 Revision 1.6  2006/04/20 22:30:49  hristov
19 Coding conventions (Annalisa)
20
21 Revision 1.5  2006/04/16 22:29:05  hristov
22 Coding conventions (Annalisa)
23
24 Revision 1.4  2006/04/05 08:35:38  hristov
25 Coding conventions (S.Arcelli, C.Zampolli)
26
27 Revision 1.3  2006/03/28 14:57:48  arcelli
28 updates to handle new V5 geometry & some re-arrangements
29
30 Revision 1.2  2006/02/13 17:22:26  arcelli
31 just Fixing Log info
32
33 Revision 1.1  2006/02/13 16:10:48  arcelli
34 Add classes for TOF Calibration (C.Zampolli)
35
36 author: Chiara Zampolli, zampolli@bo.infn.it
37 */  
38
39 ///////////////////////////////////////////////////////////////////////////////
40 //                                                                           //
41 // class for TOF calibration : PlateB                                        //
42 //                                                                           //
43 ///////////////////////////////////////////////////////////////////////////////
44
45 #include "TBrowser.h"
46
47 #include "AliLog.h"
48
49 #include "AliTOFCalPlateB.h"
50 #include "AliTOFCalStrip.h"
51 #include "AliTOFChannel.h"
52 #include "AliTOFGeometryV5.h"
53
54 ClassImp(AliTOFCalPlateB)
55
56 //________________________________________________________________
57
58 AliTOFCalPlateB::AliTOFCalPlateB():
59   fNStripB(0),
60   fNpadZ(0),
61   fNpadX(0),
62   fGeom(0x0), 
63   fCh(0x0)
64 {
65   //main ctor
66 }
67 //________________________________________________________________
68
69 AliTOFCalPlateB::AliTOFCalPlateB(AliTOFChannel *ch) : 
70   fNStripB(0),
71   fNpadZ(0),
72   fNpadX(0),
73   fGeom(0x0), 
74   fCh(ch)
75 {
76   //ctor with channel
77 }
78 //________________________________________________________________
79
80 AliTOFCalPlateB::AliTOFCalPlateB(AliTOFGeometry *geom):
81   fNStripB(0),
82   fNpadZ(0),
83   fNpadX(0),
84   fGeom(geom), 
85   fCh(0x0)
86 {
87   //ctor with geom
88   fNStripB = fGeom->NStripB();
89   fNpadZ = fGeom->NpadZ();
90   fNpadX = fGeom->NpadX();
91 }
92 //________________________________________________________________
93
94 AliTOFCalPlateB::AliTOFCalPlateB(AliTOFGeometry *geom, AliTOFChannel *ch): 
95   fNStripB(0),
96   fNpadZ(0),
97   fNpadX(0),
98   fGeom(geom), 
99   fCh(ch)
100 {
101   //ctor with channel and geom
102   fNStripB = fGeom->NStripB();
103   fNpadZ = fGeom->NpadZ();
104   fNpadX = fGeom->NpadX();
105 }
106
107 //________________________________________________________________
108
109 AliTOFCalPlateB::~AliTOFCalPlateB()
110 {
111   //dtor
112   delete[] fCh;
113 }
114
115 //________________________________________________________________
116
117 AliTOFCalPlateB::AliTOFCalPlateB(const AliTOFCalPlateB& pl):
118   TObject(pl),
119   fNStripB(0),
120   fNpadZ(0),
121   fNpadX(0),
122   fGeom(0x0), 
123   fCh(0x0)
124   {
125   //copy ctor
126     fCh = pl.fCh;
127     fNStripB = pl.fNStripB;
128     fNpadZ = pl.fNpadZ;
129     fNpadX = pl.fNpadX;
130     fGeom = pl.fGeom;
131
132   }
133 //________________________________________________________________
134
135 AliTOFCalPlateB& AliTOFCalPlateB::operator=(const AliTOFCalPlateB& pl)
136   {
137   //assignment operator
138     this->fCh = pl.fCh;
139     this->fNStripB = pl.fNStripB;
140     this->fNpadZ = pl.fNpadZ;
141     this->fNpadX = pl.fNpadX;
142     this->fGeom = pl.fGeom;
143     return *this;
144
145   }
146 //________________________________________________________________
147
148 void AliTOFCalPlateB::Browse(TBrowser *b){
149   //add cal obj to list of browsables
150
151   if(fGeom==0x0){
152     AliTOFGeometry *geom = new AliTOFGeometryV5(); 
153     AliInfo("V5 TOF Geometry is taken as the default");
154     fNStripB = geom->NStripB();
155     fNpadZ = geom->NpadZ();
156     fNpadX = geom->NpadX();
157     delete geom;
158   }
159   char name[10];
160   for(Int_t i=0; i<fNStripB; ++i) {
161     snprintf(name,sizeof(name),"Strip %2.2d",i);
162     b->Add(new AliTOFCalStrip(&fCh[i*fNpadZ*fNpadX]),name);
163   }
164 }