]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSLoader.cxx
Changing once more (hopefully we get it correct this time...) the logic to trig the...
[u/mrichter/AliRoot.git] / ITS / AliITSLoader.cxx
index b7c3d27c260a089ce1f57c3452e08a04f12c3449..d370d2ef43b768f9bc3ed42055097495564cd53d 100644 (file)
@@ -1,6 +1,29 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+#include <TClonesArray.h>
+#include <TClass.h>
+#include <TGeoManager.h>
+
 #include "AliITSdigit.h"
 #include "AliITSLoader.h"
 #include "AliRunLoader.h"
+#include "AliObjectLoader.h"
+#include "AliITSInitGeometry.h"
 #include "AliLog.h"
 
 ///////////////////////////////////////////////////////////////////////////
@@ -19,14 +42,12 @@ ClassImp(AliITSLoader)
 
 /**********************************************************************/
   AliITSLoader::AliITSLoader():AliLoader(),
-fITSpid(0),
 fGeom(0){
   // Default constructor
 }
 /*********************************************************************/
 AliITSLoader::AliITSLoader(const Char_t *name,const Char_t *topfoldername):
 AliLoader(name,topfoldername),
-fITSpid(0),
 fGeom(0){
   //Constructor   
     AliDataLoader* rawClustersDataLoader = new AliDataLoader(
@@ -66,7 +87,6 @@ fGeom(0){
 /**********************************************************************/
 AliITSLoader::AliITSLoader(const Char_t *name,TFolder *topfolder): 
   AliLoader(name,topfolder),
-fITSpid(0),
 fGeom(0){
   //ctor  
     AliDataLoader*  rawClustersDataLoader = new AliDataLoader(
@@ -308,22 +328,14 @@ AliITSgeom* AliITSLoader::GetITSgeom(Bool_t force) {
     delete fGeom;
     fGeom = 0;
   }
-  AliRunLoader *runLoader = GetRunLoader();
-  if (!runLoader->GetAliRun()) runLoader->LoadgAlice();
-  if (!runLoader->GetAliRun()) {
-    Error("GetITSgeom", "couldn't get AliRun object");
-    return NULL;
+  if(!gGeoManager){
+    AliError("gGeoManager is a null pointer - ITS geometry not built");
+    return fGeom;
   }
-  
-  TDirectory *curdir = gDirectory;
-  runLoader->CdGAFile();
-  fGeom = (AliITSgeom*)gDirectory->Get("AliITSgeom");
-  curdir->cd();
-  if(!fGeom){
-    Error("GetITSgeom","no ITS geometry available");
-    return NULL;
-  }
-  AliWarning("AliITSgeom object has been fetched from galice.root file");
+  AliITSInitGeometry initgeom;
+  fGeom = initgeom.CreateAliITSgeom();
+  AliDebug(1,"AliITSgeom object has been initialized from TGeo\n");
+  AliDebug(1,Form("Geometry name: %s",(initgeom.GetGeometryName()).Data()));
   return fGeom;
 }
 //______________________________________________________________________
@@ -345,4 +357,3 @@ void AliITSLoader::SetITSgeom(AliITSgeom *geom){
     }// end if
     fGeom=geom;
 }
-