]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSLoader.cxx
- remove unnecessary cut on the number of ITS clusters
[u/mrichter/AliRoot.git] / ITS / AliITSLoader.cxx
index b7c3d27c260a089ce1f57c3452e08a04f12c3449..12bd812d34411d601b76a03a809e4bb5eacc58e2 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(
@@ -187,7 +207,7 @@ void AliITSLoader::SetupDigits(TObjArray *digPerDet,Int_t n,
     TClonesArray *cl = 0;
     TTree *td = 0;
     TBranch *br = 0;
-    Char_t branch[13];
+    Char_t branch[14];
     const Char_t *det[3] = {"SPD","SDD","SSD"};
 
     if(!digPerDet){
@@ -208,8 +228,8 @@ void AliITSLoader::SetupDigits(TObjArray *digPerDet,Int_t n,
     for(i=0;i<n;i++){
         if(digPerDet->At(i)==0){ // set up TClones Array
             digPerDet->AddAt(new TClonesArray(digclass[i],1000),i);
-            if(n==3) sprintf(branch,"ITSDigits%s",det[i]);
-            else     sprintf(branch,"ITSDigits%d",i+1);
+            if(n==3) snprintf(branch,13,"ITSDigits%s",det[i]);
+            else     snprintf(branch,13,"ITSDigits%d",i+1);
             br = td->GetBranch(branch);
             br->SetAddress(&((*digPerDet)[i]));
             continue; // do next one.
@@ -225,8 +245,8 @@ void AliITSLoader::SetupDigits(TObjArray *digPerDet,Int_t n,
                   "derived from AliITSdigit",i,digPerDet->At(i));
         } // end if
         cl->Clear();
-        if(n==3) sprintf(branch,"ITSDigits%s",det[i]);
-        else     sprintf(branch,"ITSDigits%d",i+1);
+        if(n==3) snprintf(branch,13,"ITSDigits%s",det[i]);
+        else     snprintf(branch,13,"ITSDigits%d",i+1);
         br = td->GetBranch(branch);
         br->SetAddress(&((*digPerDet)[i]));
         continue;
@@ -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;
 }
-