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