+/**************************************************************************
+ * 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 "AliITSdigit.h"
#include "AliITSLoader.h"
#include "AliRunLoader.h"
+#include "AliITSInitGeometry.h"
#include "AliLog.h"
///////////////////////////////////////////////////////////////////////////
ClassImp(AliITSLoader)
/**********************************************************************/
- AliITSLoader::AliITSLoader():AliLoader(){
+ AliITSLoader::AliITSLoader():AliLoader(),
+fITSpid(0),
+fGeom(0){
// Default constructor
- fITSpid = 0;
- fGeom = 0;
}
/*********************************************************************/
AliITSLoader::AliITSLoader(const Char_t *name,const Char_t *topfoldername):
-AliLoader(name,topfoldername){
- //ctor
+AliLoader(name,topfoldername),
+fITSpid(0),
+fGeom(0){
+ //Constructor
AliDataLoader* rawClustersDataLoader = new AliDataLoader(
fDetectorName + ".RawCl.root",fgkDefaultRawClustersContainerName,
"Raw Clusters");
fDataLoaders->Add(cascadeDataLoader);
cascadeDataLoader->SetEventFolder(fEventFolder);
cascadeDataLoader->SetFolder(GetDetectorDataFolder());
- fITSpid=0;
- fGeom = 0;
}
/**********************************************************************/
AliITSLoader::AliITSLoader(const Char_t *name,TFolder *topfolder):
-AliLoader(name,topfolder) {
+ AliLoader(name,topfolder),
+fITSpid(0),
+fGeom(0){
//ctor
AliDataLoader* rawClustersDataLoader = new AliDataLoader(
fDetectorName + ".RawCl.root",fgkDefaultRawClustersContainerName,
fDataLoaders->Add(cascadeDataLoader);
cascadeDataLoader->SetEventFolder(fEventFolder);
cascadeDataLoader->SetFolder(GetDetectorDataFolder());
- fITSpid = 0;
- fGeom = 0;
-}
-
-//______________________________________________________________________
-AliITSLoader::AliITSLoader(const AliITSLoader &ob) : AliLoader(ob) {
- // Copy constructor
- // Copies are not allowed. The method is protected to avoid misuse.
- Error("AliITSLoader","Copy constructor not allowed\n");
}
-//______________________________________________________________________
-AliITSLoader& AliITSLoader::operator=(const AliITSLoader& /* ob */){
- // Assignment operator
- // Assignment is not allowed. The method is protected to avoid misuse.
- Error("= operator","Assignment operator not allowed\n");
- return *this;
-}
/**********************************************************************/
AliITSLoader::~AliITSLoader(){
UnloadCascades();
dl = GetCascadeDataLoader();
fDataLoaders->Remove(dl);
- if(fITSpid)delete fITSpid;
+
if(fGeom)delete fGeom;
+ fGeom = 0;
}
/*
//----------------------------------------------------------------------
delete fGeom;
fGeom = 0;
}
- AliRunLoader *runLoader = GetRunLoader();
- if (!runLoader->GetAliRun()) runLoader->LoadgAlice();
- if (!runLoader->GetAliRun()) {
- Error("GetITSgeom", "couldn't get AliRun object");
- return NULL;
- }
-
- 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");
+ AliInfo(Form("Geometry name: %s",(initgeom.GetGeometryName()).Data()));
return fGeom;
}
+//______________________________________________________________________
+void AliITSLoader::SetITSgeom(AliITSgeom *geom){
+ // Replaces the AliITSgeom object read from file with the one
+ // given.
+ // Inputs:
+ // AliITSgeom *geom The AliITSgeom object to replace the one
+ // read from the file
+ // Outputs:
+ // none.
+ // Return:
+ // none.
+
+ if(fGeom==geom) return; // Same do nothing
+ if(fGeom) {
+ delete fGeom;
+ fGeom=0;
+ }// end if
+ fGeom=geom;
+}