]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveDet/AliEveMUONChamberData.cxx
Changes in order to modify also ITSonly tracks
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveMUONChamberData.cxx
index 8c73aaeceb0b4b102e8593bc4f9681873efd2f88..2742e041cfa57e625a41af5ba5548b42ac7ba3fb 100644 (file)
@@ -1,5 +1,5 @@
 // $Id$
-// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
+// Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 2006, 2007
 
 /**************************************************************************
  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
@@ -7,22 +7,18 @@
  * full copyright notice.                                                 *
  **************************************************************************/
 
+#include "AliMpVSegmentation.h"
 #include "AliEveMUONChamberData.h"
 
 #include <AliMUONGeometryTransformer.h>
 #include <mapping/AliMpDEIterator.h>
-#include <mapping/AliMpSectorSegmentation.h>
 #include <mapping/AliMpSector.h>
 #include <mapping/AliMpPad.h>
-#include <mapping/AliMpStationType.h>
-#include <mapping/AliMpDEManager.h>
 #include <mapping/AliMpSegmentation.h>
+#include <mapping/AliMpVSegmentation.h>
 
-#include <TMath.h>
 #include <TVector2.h>
 
-#include <Riostream.h>
-
 #include <EveBase/AliEveEventManager.h>
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -37,17 +33,18 @@ ClassImp(AliEveMUONChamberData)
 AliMUONGeometryTransformer* AliEveMUONChamberData::fgTransformer = 0;
 
 //______________________________________________________________________________
-AliEveMUONChamberData::AliEveMUONChamberData(Int_t chamber)
+AliEveMUONChamberData::AliEveMUONChamberData(Int_t chamber) :
+  TObject(),
+  fChamberID(0),
+  fNDetElem(0),
+  fNDigits(0),
+  fNClusters(0),
+  fNHits(0)
 {
   //
   // constructor
   //
 
-  AliEveEventManager *event = gEvent;
-
-  TString dataPath = TString(event->GetTitle());
-  dataPath.Append("/geometry.root");
-
   fChamberID = chamber;
   fNDetElem  = 0;
   fNDigits   = 0;
@@ -75,12 +72,12 @@ AliEveMUONChamberData::AliEveMUONChamberData(Int_t chamber)
   }
 
   if (fgTransformer == 0) {
+    AliEveEventManager::AssertGeometry();
     fgTransformer = new AliMUONGeometryTransformer();
-    fgTransformer->LoadGeometryData(dataPath.Data());
+    fgTransformer->LoadGeometryData();
   }
 
   Init(chamber);
-
 }
 
 //______________________________________________________________________________
@@ -118,7 +115,6 @@ void AliEveMUONChamberData::Init(Int_t chamber)
   Float_t deltax, deltay;
   AliMpDEIterator it;
   const AliMpVSegmentation *vseg;
-  const AliMpSectorSegmentation *sseg;
   const AliMpSector *sector;
   TVector2 position;
   TVector2 dimension;
@@ -129,12 +125,10 @@ void AliEveMUONChamberData::Init(Int_t chamber)
 
     if (chamber < 4) {
 
-      sseg = (AliMpSectorSegmentation*)
-             AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,AliMp::kCath0);
-      sector = sseg->GetSector();
+      sector = AliMpSegmentation::Instance()->GetSector(detElemId,AliMp::kCath0);
 
-      position  = sector->Position();
-      dimension = sector->Dimensions(); // half length
+      position  = TVector2(sector->GetPositionX(), sector->GetPositionY());
+      dimension = TVector2(sector->GetDimensionX(), sector->GetDimensionY()); // half length
 
       locP[0] =  position.Px();
       locP[1] =  position.Py();
@@ -179,8 +173,8 @@ void AliEveMUONChamberData::Init(Int_t chamber)
        continue;
       }
 
-      deltax = vseg->Dimensions().X();
-      deltay = vseg->Dimensions().Y();
+      deltax = vseg->GetDimensionX();
+      deltay = vseg->GetDimensionY();
       locP[0] =  -deltax;
       locP[1] =  -deltay;
       locD[0] =  +deltax;
@@ -236,12 +230,12 @@ void AliEveMUONChamberData::RegisterDigit(Int_t detElemId, Int_t cathode, Int_t
   const AliMpVSegmentation* vseg = AliMpSegmentation::Instance()
     ->GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode));
 
-  AliMpPad pad = vseg->PadByIndices(AliMpIntPair(ix,iy),kTRUE);
+  AliMpPad pad = vseg->PadByIndices(ix,iy,kTRUE);
 
-  locP[0] = pad.Position().X();
-  locP[1] = pad.Position().Y();
-  locD[0] = pad.Dimensions().X();
-  locD[1] = pad.Dimensions().Y();
+  locP[0] = pad.GetPositionX();
+  locP[1] = pad.GetPositionY();
+  locD[0] = pad.GetDimensionX();
+  locD[1] = pad.GetDimensionY();
 
   locP[2] = 0.0;
   locD[2] = 0.0;