* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*$Log$
+/*
+$Log$
+Revision 1.6 2006/04/20 22:30:49 hristov
+Coding conventions (Annalisa)
+
+Revision 1.5 2006/04/16 22:29:05 hristov
+Coding conventions (Annalisa)
+
+Revision 1.4 2006/04/05 08:35:38 hristov
+Coding conventions (S.Arcelli, C.Zampolli)
+
+Revision 1.3 2006/03/28 14:58:16 arcelli
+updates to handle new V5 geometry & some re-arrangements
+
+Revision 1.2 2006/02/13 16:53:00 decaro
+just Fixing Log info
+
+Revision 1.1 2006/02/13 16:10:48 arcelli
+Add classes for TOF Calibration (C.Zampolli)
+
author: Chiara Zampolli, zampolli@bo.infn.it
- */
+*/
///////////////////////////////////////////////////////////////////////////////
// //
// //
///////////////////////////////////////////////////////////////////////////////
-#include "TObject.h"
-#include "TROOT.h"
#include "TBrowser.h"
-#include "TClass.h"
-#include "AliTOFGeometryV4.h"
+#include "TROOT.h"
+
+#include "AliLog.h"
+
#include "AliTOFCalPlateA.h"
#include "AliTOFCalPlateB.h"
#include "AliTOFCalPlateC.h"
#include "AliTOFCalSector.h"
#include "AliTOFChannel.h"
+#include "AliTOFGeometryV5.h"
-extern TROOT *gROOT;
+//extern TROOT *gROOT;
ClassImp(AliTOFCalSector)
//________________________________________________________________
-AliTOFCalSector::AliTOFCalSector(){
- fCh = 0;
- fNSector = AliTOFGeometryV4::NSectors();
- fNPlate = AliTOFGeometryV4::NPlates();
- fNStripA = AliTOFGeometryV4::NStripA();
- fNStripB = AliTOFGeometryV4::NStripB();
- fNStripC = 20;
- // fNStripC = AliTOFGeometryV4::NStripC();
- fNpadZ = AliTOFGeometryV4::NpadZ();
- fNpadX = AliTOFGeometryV4::NpadX();
+AliTOFCalSector::AliTOFCalSector():
+ fNPlate(0),
+ fNStripA(0),
+ fNStripB(0),
+ fNStripC(0),
+ fNpadZ(0),
+ fNpadX(0),
+ fGeom(0x0),
+ fCh(0x0)
+{
+ //main ctor
gROOT->GetListOfBrowsables()->Add(this);
}
//________________________________________________________________
AliTOFCalSector::AliTOFCalSector(AliTOFChannel *ch):
+ fNPlate(0),
+ fNStripA(0),
+ fNStripB(0),
+ fNStripC(0),
+ fNpadZ(0),
+ fNpadX(0),
+ fGeom(0x0),
+ fCh(ch)
+{
+ //ctor with channel
+ gROOT->GetListOfBrowsables()->Add(this);
+}
+//________________________________________________________________
+
+AliTOFCalSector::AliTOFCalSector(AliTOFGeometry *geom):
+ fNPlate(0),
+ fNStripA(0),
+ fNStripB(0),
+ fNStripC(0),
+ fNpadZ(0),
+ fNpadX(0),
+ fGeom(geom),
+ fCh(0x0)
+{
+ //ctor with geom
+ fNPlate = fGeom->NPlates();
+ fNStripA = fGeom->NStripA();
+ fNStripB = fGeom->NStripB();
+ fNStripC = fGeom->NStripC();
+ fNpadZ = fGeom->NpadZ();
+ fNpadX = fGeom->NpadX();
+ gROOT->GetListOfBrowsables()->Add(this);
+
+}
+//________________________________________________________________
+
+AliTOFCalSector::AliTOFCalSector(AliTOFGeometry *geom,AliTOFChannel *ch):
+ fNPlate(0),
+ fNStripA(0),
+ fNStripB(0),
+ fNStripC(0),
+ fNpadZ(0),
+ fNpadX(0),
+ fGeom(geom),
fCh(ch)
{
- fNSector = AliTOFGeometryV4::NSectors();
- fNPlate = AliTOFGeometryV4::NPlates();
- fNStripA = AliTOFGeometryV4::NStripA();
- fNStripB = AliTOFGeometryV4::NStripB();
- fNStripC = 20;
- // fNStripC = AliTOFGeometryV4::NStripC();
- fNpadZ = AliTOFGeometryV4::NpadZ();
- fNpadX = AliTOFGeometryV4::NpadX();
+ // ctor with channel and geom
+ fNPlate = fGeom->NPlates();
+ fNStripA = fGeom->NStripA();
+ fNStripB = fGeom->NStripB();
+ fNStripC = fGeom->NStripC();
+ fNpadZ = fGeom->NpadZ();
+ fNpadX = fGeom->NpadX();
+ gROOT->GetListOfBrowsables()->Add(this);
}
//________________________________________________________________
AliTOFCalSector::AliTOFCalSector(const AliTOFCalSector& sec):
- TObject(sec)
+ TObject(sec),
+ fNPlate(0),
+ fNStripA(0),
+ fNStripB(0),
+ fNStripC(0),
+ fNpadZ(0),
+ fNpadX(0),
+ fGeom(0x0),
+ fCh(0x0)
{
+ //copy ctor
fCh = sec.fCh;
- fNSector = sec.fNSector;
fNPlate = sec.fNPlate;
fNStripA = sec.fNStripA;
fNStripB = sec.fNStripB;
}
//________________________________________________________________
+AliTOFCalSector& AliTOFCalSector::operator=(const AliTOFCalSector& sec)
+ {
+ //assignment operator
+ this->fCh = sec.fCh;
+ this->fNPlate = sec.fNPlate;
+ this->fNStripA = sec.fNStripA;
+ this->fNStripB = sec.fNStripB;
+ this->fNStripC = sec.fNStripC;
+ this->fNpadZ = sec.fNpadZ;
+ this->fNpadX = sec.fNpadX;
+ gROOT->GetListOfBrowsables()->Add(this);
+ return *this;
+
+ }
+//________________________________________________________________
+
AliTOFCalSector::~AliTOFCalSector()
{
+ //dtor
+ gROOT->GetListOfBrowsables()->Remove(this);
delete[] fCh;
}
//________________________________________________________________
void AliTOFCalSector::Browse(TBrowser *b){
-
+ //add cal obj to list of browsables
+ if(fGeom==0x0){
+ AliTOFGeometry *geom= new AliTOFGeometryV5();
+ AliInfo("V5 TOF Geometry is taken as the default");
+ fNPlate = geom->NPlates();
+ fNStripA = geom->NStripA();
+ fNStripB = geom->NStripB();
+ fNStripC = geom->NStripC();
+ fNpadZ = geom->NpadZ();
+ fNpadX = geom->NpadX();
+ delete geom;
+ }
b->Add(new AliTOFCalPlateC(fCh), "Plate0");
b->Add(new AliTOFCalPlateB(&fCh[fNStripC*96]),"Plate1");
b->Add(new AliTOFCalPlateA(&fCh[(fNStripC+fNStripB)*fNpadZ*fNpadX]),"Plate2");