]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFCalSector.cxx
added missing files
[u/mrichter/AliRoot.git] / TOF / AliTOFCalSector.cxx
index f7e2aeb46a0806398f3d59b2e998e6d0edd24eb2..5ad9b9cd73a03ed1750e9e01b1203c1922646520 100644 (file)
  * 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
- */  
+*/  
 
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
@@ -23,57 +42,111 @@ 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;
@@ -84,15 +157,44 @@ AliTOFCalSector::AliTOFCalSector(const AliTOFCalSector& sec):
   }
 //________________________________________________________________
 
+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");