]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliRun.cxx
Container classes for the PHOS reconstruction parameters.
[u/mrichter/AliRoot.git] / STEER / AliRun.cxx
index 058b780e3a45aadb0baa11adfe188d58cecb56a0..d185070f9d7c1d3fb62947007bef364d7f46744b 100644 (file)
@@ -172,8 +172,6 @@ AliRun::AliRun(const char *name, const char *title):
 
   // Add to list of browsable  
   gROOT->GetListOfBrowsables()->Add(this,name);
-  // Create the TNode geometry for the event display
-  BuildSimpleGeometry();
   
   // Create default mag field
   SetField();
@@ -470,27 +468,27 @@ Int_t AliRun::GetEvent(Int_t event)
 //_______________________________________________________________________
 TGeometry *AliRun::GetGeometry()
 {
-  //
-  // Import Alice geometry from current file
-  // Return pointer to geometry object
-  //
-  if (!fGeometry) fGeometry = dynamic_cast<TGeometry*>(gDirectory->Get("AliceGeom"));
-  //
-  // Unlink and relink nodes in detectors
-  // This is bad and there must be a better way...
-  //
+  // Create the TNode geometry for the event display
+  if (!fGeometry) { 
+    BuildSimpleGeometry();
+    //
+    // Unlink and relink nodes in detectors
+    // This is bad and there must be a better way...
+    //
   
-  TIter next(fModules);
-  AliModule *detector;
-  while((detector = dynamic_cast<AliModule*>(next()))) {
-    TList *dnodes=detector->Nodes();
-    Int_t j;
-    TNode *node, *node1;
-    for ( j=0; j<dnodes->GetSize(); j++) {
-      node = dynamic_cast<TNode*>(dnodes->At(j));
-      node1 = fGeometry->GetNode(node->GetName());
-      dnodes->Remove(node);
-      dnodes->AddAt(node1,j);
+    TIter next(fModules);
+    AliModule *detector;
+    while((detector = dynamic_cast<AliModule*>(next()))) {
+      detector->BuildGeometry();
+      TList *dnodes=detector->Nodes();
+      Int_t j;
+      TNode *node, *node1;
+      for ( j=0; j<dnodes->GetSize(); j++) {
+       node = dynamic_cast<TNode*>(dnodes->At(j));
+       node1 = fGeometry->GetNode(node->GetName());
+       dnodes->Remove(node);
+       dnodes->AddAt(node1,j);
+      }
     }
   }
   return fGeometry;