From Massimo: remove usage of AliITSgeom, use AliITSgeomTGeo instead.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 Mar 2008 19:08:37 +0000 (19:08 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 Mar 2008 19:08:37 +0000 (19:08 +0000)
EVE/EveDet/AliEveITSDigitsInfo.cxx
EVE/EveDet/AliEveITSDigitsInfo.h
EVE/EveDet/AliEveITSModule.cxx
EVE/alice-macros/its_digits.C
EVE/alice-macros/its_raw.C

index 3a872cef6b96976f0fdeff6f16618ffe5412e6d9..b477d338824da20af209f0048cd620d93eb58b41 100644 (file)
@@ -15,7 +15,7 @@
 
 #include <AliITS.h>
 #include <AliITSInitGeometry.h>
-#include <AliITSgeom.h>
+#include <AliITSgeomTGeo.h>
 #include <AliITSsegmentationSPD.h>
 #include <AliITSsegmentationSDD.h>
 #include <AliITSsegmentationSSD.h>
@@ -33,6 +33,7 @@
 #include <AliITSRawStreamSDD.h>
 #include <AliITSRawStreamSSD.h>
 
+#include <TGeoMatrix.h>
 #include <TMath.h>
 #include <TVector3.h>
 
@@ -69,7 +70,6 @@ AliEveITSDigitsInfo::AliEveITSDigitsInfo() :
   TEveRefCnt(),
   fSPDmap(), fSDDmap(), fSSDmap(),
   fTree (0),
-  fGeom (0),
   fSegSPD     (0), fSegSDD     (0), fSegSSD     (0),
   fDDLMapSDD  (0),
   fSPDMinVal  (0), fSSDMinVal  (0), fSDDMinVal  (0),
@@ -90,8 +90,6 @@ void AliEveITSDigitsInfo::InitInternals()
   static const TEveException eH("AliEveITSDigitsInfo::InitInternals ");
 
   AliEveEventManager::AssertGeometry();
-  AliITSInitGeometry initGeom;
-  fGeom = initGeom.CreateAliITSgeom();
 
   SetITSSegmentation();
 
@@ -174,7 +172,6 @@ AliEveITSDigitsInfo:: ~AliEveITSDigitsInfo()
     delete j->second;
   delete fDDLMapSDD;
   delete fSegSPD; delete fSegSDD; delete fSegSSD;
-  delete fGeom;
   delete fTree;
 }
 
@@ -288,7 +285,7 @@ void AliEveITSDigitsInfo::SetITSSegmentation()
   // data-structures.
 
   // SPD
-  fSegSPD = new AliITSsegmentationSPD(fGeom);
+  fSegSPD = new AliITSsegmentationSPD();
 
   Int_t m;
   Float_t fNzSPD=160;
@@ -311,12 +308,12 @@ void AliEveITSDigitsInfo::SetITSSegmentation()
   }
 
   // SDD
-  fSegSDD = new AliITSsegmentationSDD(fGeom);
+  fSegSDD = new AliITSsegmentationSDD();
   // !!!! Set default drift speed, eventually need to get it from CDB.
   fSegSDD->SetDriftSpeed(7.3);
 
   // SSD
-  fSegSSD = new AliITSsegmentationSSD(fGeom);
+  fSegSSD = new AliITSsegmentationSSD();
 }
 
 /******************************************************************************/
@@ -404,39 +401,32 @@ void AliEveITSDigitsInfo::GetModuleIDs(AliEveITSModuleSelection* sel,
   {
     case 0:
       idx0 = 0;
-      idx1 = fGeom->GetLastSPD();
+      idx1 = AliITSgeomTGeo::GetModuleIndex(3, 1, 1) - 1;
       break;
     case 1:
-      idx0 = fGeom->GetLastSPD()+1;
-      idx1 = fGeom->GetLastSDD();
+      idx0 = AliITSgeomTGeo::GetModuleIndex(3, 1, 1);
+      idx1 = AliITSgeomTGeo::GetModuleIndex(5, 1, 1) - 1;
       break;
     case 2:
-      idx0 = fGeom->GetLastSDD()+1;
-      idx1 = fGeom->GetLastSSD();
+      idx0 = AliITSgeomTGeo::GetModuleIndex(5, 1, 1);
+      idx1 = AliITSgeomTGeo::GetNModules() - 1;
       break;
     default:
       idx1 = 0;
-      idx1 = fGeom->GetLastSSD();
+      idx1 = AliITSgeomTGeo::GetNModules() - 1;
       break;
   }
 
-  TVector3 v;
-  Double_t x[9];
-  Int_t lay, lad, det;
+  TVector3  v;
   TEveTrans mx;
-  for (Int_t id = idx0; id<idx1; ++id)
+  Int_t     lay, lad, det;
+  for (Int_t id = idx0; id < idx1; ++id)
   {
-    fGeom->GetModuleId(id, lay, lad, det);
+    AliITSgeomTGeo::GetModuleId(id, lay, lad, det);
     if (sel->GetLayer() == lay || sel->GetLayer() == -1)
     {
       // check data from matrix
-      mx.UnitTrans();
-      fGeom->GetRotMatrix(id, x);
-      mx.SetBaseVec(1, x[0], x[3], x[6]);
-      mx.SetBaseVec(2, x[1], x[4], x[7]);
-      mx.SetBaseVec(3, x[2], x[5], x[8]);
-      fGeom->GetTrans(id, x);
-      mx.SetBaseVec(4, x);
+      mx.SetFrom(*AliITSgeomTGeo::GetMatrix(id));
       mx.GetPos(v);
       if (v.Phi()   <= sel->GetMaxPhi()   && v.Phi()   >= sel->GetMinPhi()   &&
          v.Theta() <= sel->GetMaxTheta() && v.Theta() >= sel->GetMinTheta())
@@ -455,7 +445,9 @@ void AliEveITSDigitsInfo::Print(Option_t* ) const
 
   printf("*********************************************************\n");
   printf("SPD module dimension (%f,%f)\n",           fSegSPD->Dx()*0.0001, fSegSPD->Dz()*0.0001);
-  printf("SPD first,last module:: %d,%d\n",          fGeom->GetStartSPD(), fGeom->GetLastSPD() );
+  printf("SPD first,last module: %d, %d\n",
+        AliITSgeomTGeo::GetModuleIndex(1,1,1), 
+        AliITSgeomTGeo::GetModuleIndex(3,1,1) - 1);
   printf("SPD num cells per module (x::%d,z::%d)\n", fSegSPD->Npx(), fSegSPD->Npz());
   Int_t iz = 0, ix = 0;
   printf("SPD dimesion of (%d,%d) in pixel(%f,%f)\n",   ix, iz, fSegSPD->Dpx(ix), fSegSPD->Dpz(iz));
@@ -464,14 +456,18 @@ void AliEveITSDigitsInfo::Print(Option_t* ) const
 
   printf("*********************************************************\n");
   printf("SDD module dimension (%f,%f)\n",           fSegSDD->Dx()*0.0001, fSegSDD->Dz()*0.0001);
-  printf("SDD first,last module:: %d,%d\n",          fGeom->GetStartSDD(), fGeom->GetLastSDD());
+  printf("SDD first,last module: %d, %d\n",
+        AliITSgeomTGeo::GetModuleIndex(3,1,1),
+        AliITSgeomTGeo::GetModuleIndex(5,1,1) - 1);
   printf("SDD num cells per module (x::%d,z::%d)\n", fSegSDD->Npx(), fSegSDD->Npz());
   printf("SDD dimesion of pixel are (%f,%f)\n",      fSegSDD->Dpx(1)*0.001, fSegSDD->Dpz(1)*0.001);
 
   Float_t ap, an;
   printf("*********************************************************\n");
   printf("SSD module dimension (%f,%f)\n",  fSegSSD->Dx()*0.0001, fSegSSD->Dz()*0.0001);
-  printf("SSD first,last module:: %d,%d\n", fGeom->GetStartSSD(), fGeom->GetLastSSD() );
+  printf("SSD first, last module: %d, %d\n",
+        AliITSgeomTGeo::GetModuleIndex(5,1,1),
+        AliITSgeomTGeo::GetNModules() - 1);
   printf("SSD strips in module %d\n",       fSegSSD->Npx());
   printf("SSD strip sizes are (%f,%f)\n",   fSegSSD->Dpx(1), fSegSSD->Dpz(1));
   fSegSSD->SetLayer(5);  fSegSSD->Angles(ap,an);
index e9113d581bf78d97b6efe9aeee3677767d5a9bc7..5b4dc9123d82511954adbf439d6b8265b2991368 100644 (file)
@@ -19,7 +19,7 @@
 #include <TClonesArray.h>
 #include <TTree.h>
 
-class AliITSgeom;
+//class AliITSgeom;
 class AliITSsegmentationSPD;
 class AliITSsegmentationSDD;
 class AliITSsegmentationSSD;
@@ -87,7 +87,6 @@ protected:
 public:
   TTree*                   fTree;         // Tree from which the digits are read.
 
-  AliITSgeom*              fGeom;         // Provides mapping from module-id to transforamtion-matrix.
   AliITSsegmentationSPD*   fSegSPD;       // Segmentation of SPD.
   AliITSsegmentationSDD*   fSegSDD;       // Segmentation of SDD.
   AliITSsegmentationSSD*   fSegSSD;       // Segmentation of SSD.
index 94d43024a6a2d2f0535b598e05cbc66bead8b290..b2921705455010d794eec43fa2af291c83a9f482 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "AliEveITSModule.h"
 
-#include <AliITSgeom.h>
+#include <AliITSgeomTGeo.h>
 #include <AliITSsegmentationSPD.h>
 #include <AliITSsegmentationSDD.h>
 #include <AliITSsegmentationSSD.h>
@@ -141,12 +141,15 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
 
   static const TEveException eH("AliEveITSModule::SetID ");
 
-  if(fInfo == 0)
+  if (fInfo == 0)
     throw(eH + "AliEveITSDigitsInfo not set.");
 
-  if (gid < fInfo->fGeom->GetStartSPD() || gid > fInfo->fGeom->GetLastSSD())
+  if (gid < AliITSgeomTGeo::GetModuleIndex(1,1,1) ||
+      gid > AliITSgeomTGeo::GetNModules() - 1)
+  {
     throw(eH + Form("%d is not valid. ID range from %d to %d", gid,
-                   fInfo->fGeom->GetStartSPD(), fInfo->fGeom->GetLastSSD()));
+                   firstSPD, lastSSD ));
+  }
 
   fID = gid;
 
@@ -163,13 +166,13 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
     fgSSDPalette->IncRefCount();
   }
 
-  fInfo->fGeom->GetModuleId(fID, fLayer, fLadder, fDet);
+  AliITSgeomTGeo::GetModuleId(fID, fLayer, fLadder, fDet);
   TString strLadder = "Ladder";
   TString strSensor = "Sensor";
   TString symname;
   Int_t   id, nsector, nstave, nladder, rest;
 
-  if (fID <= fInfo->fGeom->GetLastSPD())
+  if (fID <= (AliITSgeomTGeo::GetModuleIndex(3,1,1) - 1))
   {
     // SPD
 
@@ -200,7 +203,7 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
     fDy = fInfo->fSegSPD->Dy()*0.00005;
 
   }
-  else if (fID <= fInfo->fGeom->GetLastSDD())
+  else if (fID <= (AliITSgeomTGeo::GetModuleIndex(5,1,1) - 1))
   {
     // SDD
 
@@ -368,31 +371,18 @@ void AliEveITSModule::SetTrans()
   // Set transformation matrix based on module id (use geometry to
   // retrieve this information).
 
-  Double_t x[9];
-  fHMTrans.UnitTrans();
-
-  // !!!! Here should use AliITSgeomTGeo ... but can i be sure
-  // the geometry has been loaded?
-
-  // column major
-  fInfo->fGeom->GetRotMatrix(fID, x);
-  fHMTrans.SetBaseVec(1, x[0], x[3], x[6]);
-  fHMTrans.SetBaseVec(2, x[1], x[4], x[7]);
-  fHMTrans.SetBaseVec(3, x[2], x[5], x[8]);
-  // translation
-  fInfo->fGeom->GetTrans(fID, x);
-  fHMTrans.SetBaseVec(4, x);
+  fHMTrans.SetFrom(*AliITSgeomTGeo::GetMatrix(fID));
 }
 
 /******************************************************************************/
 
 void AliEveITSModule::DigitSelected(Int_t idx)
 {
-  // Override control-click from TEveQuadSet.
+  // Override secondary select (alt-click) from TEveQuadSet.
 
-  DigitBase_t* qb   = GetDigit(idx);
-  TObject* obj   = qb->fId.GetObject();
-  AliITSdigit* d = dynamic_cast<AliITSdigit*>(obj);
+  DigitBase_t *qb  = GetDigit(idx);
+  TObject     *obj = qb->fId.GetObject();
+  AliITSdigit *d   = dynamic_cast<AliITSdigit*>(obj);
   printf("AliEveITSModule::QuadSelected "); Print();
   printf("  idx=%d, value=%d, obj=0x%lx, digit=0x%lx\n",
         idx, qb->fValue, (ULong_t)obj, (ULong_t)d);
index d42203e5b20d027d7bec26f7780b10d191079fe7..dc316701b86aaf31a3122fcd7626709cee6ce24d 100644 (file)
@@ -23,12 +23,8 @@ void its_digits(Int_t mode=63)
   AliEveITSDigitsInfo* di = new AliEveITSDigitsInfo();
   di->SetTree(dt);
   di->Dump();
-  // Could initialize AliEveITSModule statics (?)
-
-  AliITSgeom* g = di->fGeom;
 
   gStyle->SetPalette(1, 0);
-  // Initialize palettes (?)
 
   gEve->DisableRedraw();
 
index 01af8dcf56d1cb86843b7666bc558df9dcc2823d..377f78f2522dd7e9df3b78ed5a260ce2ece8f770 100644 (file)
@@ -53,12 +53,8 @@ void its_raw(const char *input = "rawdata.root",
   di->Dump();
 
   delete rawReader;
-  // Could initialize AliEveITSModule statics (?)
-
-  AliITSgeom* g = di->fGeom;
 
   gStyle->SetPalette(1, 0);
-  // Initialize palettes (?)
 
   gEve->DisableRedraw();