1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 Revision 1.3 2006/03/28 14:58:16 arcelli
19 updates to handle new V5 geometry & some re-arrangements
21 Revision 1.2 2006/02/13 16:53:00 decaro
24 Revision 1.1 2006/02/13 16:10:48 arcelli
25 Add classes for TOF Calibration (C.Zampolli)
27 author: Chiara Zampolli, zampolli@bo.infn.it
30 ///////////////////////////////////////////////////////////////////////////////
32 // class for TOF calibration : Sectors //
34 ///////////////////////////////////////////////////////////////////////////////
41 #include "AliTOFGeometryV5.h"
42 #include "AliTOFCalPlateA.h"
43 #include "AliTOFCalPlateB.h"
44 #include "AliTOFCalPlateC.h"
45 #include "AliTOFCalSector.h"
46 #include "AliTOFChannel.h"
50 ClassImp(AliTOFCalSector)
52 //________________________________________________________________
54 AliTOFCalSector::AliTOFCalSector(){
64 gROOT->GetListOfBrowsables()->Add(this);
67 //________________________________________________________________
69 AliTOFCalSector::AliTOFCalSector(AliTOFChannel *ch):
80 gROOT->GetListOfBrowsables()->Add(this);
82 //________________________________________________________________
84 AliTOFCalSector::AliTOFCalSector(AliTOFGeometry *geom){
88 fNPlate = fGeom->NPlates();
89 fNStripA = fGeom->NStripA();
90 fNStripB = fGeom->NStripB();
91 fNStripC = fGeom->NStripC();
92 fNpadZ = fGeom->NpadZ();
93 fNpadX = fGeom->NpadX();
94 gROOT->GetListOfBrowsables()->Add(this);
97 //________________________________________________________________
99 AliTOFCalSector::AliTOFCalSector(AliTOFGeometry *geom,AliTOFChannel *ch):
102 // ctor with channel and geom
104 fNPlate = fGeom->NPlates();
105 fNStripA = fGeom->NStripA();
106 fNStripB = fGeom->NStripB();
107 fNStripC = fGeom->NStripC();
108 fNpadZ = fGeom->NpadZ();
109 fNpadX = fGeom->NpadX();
110 gROOT->GetListOfBrowsables()->Add(this);
112 //________________________________________________________________
114 AliTOFCalSector::AliTOFCalSector(const AliTOFCalSector& sec):
119 fNPlate = sec.fNPlate;
120 fNStripA = sec.fNStripA;
121 fNStripB = sec.fNStripB;
122 fNStripC = sec.fNStripC;
125 gROOT->GetListOfBrowsables()->Add(this);
127 //________________________________________________________________
129 AliTOFCalSector::~AliTOFCalSector()
132 gROOT->GetListOfBrowsables()->Remove(this);
136 //________________________________________________________________
138 void AliTOFCalSector::Browse(TBrowser *b){
139 //add cal obj to list of browsables
141 AliTOFGeometry *geom= new AliTOFGeometryV5();
142 AliInfo("V5 TOF Geometry is taken as the default");
143 fNPlate = geom->NPlates();
144 fNStripA = geom->NStripA();
145 fNStripB = geom->NStripB();
146 fNStripC = geom->NStripC();
147 fNpadZ = geom->NpadZ();
148 fNpadX = geom->NpadX();
151 b->Add(new AliTOFCalPlateC(fCh), "Plate0");
152 b->Add(new AliTOFCalPlateB(&fCh[fNStripC*96]),"Plate1");
153 b->Add(new AliTOFCalPlateA(&fCh[(fNStripC+fNStripB)*fNpadZ*fNpadX]),"Plate2");
154 b->Add(new AliTOFCalPlateB(&fCh[(fNStripC+2*fNStripB)*fNpadZ*fNpadX]),"Plate3");
155 b->Add(new AliTOFCalPlateC(&fCh[2*(fNStripC+fNStripB)*fNpadZ*fNpadX]),"Plate4");