X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSLoader.cxx;h=c1b10dc6ff625fdf1964944852e8f9164235ab0b;hb=da4d7f1738cb9d54a63dba886718a8482b080072;hp=92e5979d0e94c67968adba1209ea92fba4468dbe;hpb=aacedc3e54091806a9c6d356fd7f582df59fd73f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSLoader.cxx b/ITS/AliITSLoader.cxx index 92e5979d0e9..c1b10dc6ff6 100644 --- a/ITS/AliITSLoader.cxx +++ b/ITS/AliITSLoader.cxx @@ -1,9 +1,28 @@ -#include "AliITS.h" -#include "AliITSgeom.h" +/************************************************************************** + * 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 +#include + #include "AliITSdigit.h" -#include "AliRun.h" -#include "AliDetector.h" #include "AliITSLoader.h" +#include "AliRunLoader.h" +#include "AliITSInitGeometry.h" +#include "AliLog.h" /////////////////////////////////////////////////////////////////////////// // Loader for ITS @@ -17,17 +36,20 @@ const TString AliITSLoader::fgkDefaultBackTracksContainerName = "TreeB"; const TString AliITSLoader::fgkDefaultVerticesContainerName = "Vertex"; const TString AliITSLoader::fgkDefaultV0ContainerName = "V0"; const TString AliITSLoader::fgkDefaultCascadeContainerName = "Cascade"; - ClassImp(AliITSLoader) /**********************************************************************/ - AliITSLoader::AliITSLoader():AliLoader(){ + AliITSLoader::AliITSLoader():AliLoader(), +fITSpid(0), +fGeom(0){ // Default constructor } /*********************************************************************/ 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"); @@ -64,7 +86,9 @@ AliLoader(name,topfoldername){ } /**********************************************************************/ 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, @@ -100,6 +124,8 @@ AliLoader(name,topfolder) { cascadeDataLoader->SetEventFolder(fEventFolder); cascadeDataLoader->SetFolder(GetDetectorDataFolder()); } + + /**********************************************************************/ AliITSLoader::~AliITSLoader(){ //destructor @@ -123,7 +149,11 @@ AliITSLoader::~AliITSLoader(){ UnloadCascades(); dl = GetCascadeDataLoader(); fDataLoaders->Remove(dl); + + if(fGeom)delete fGeom; + fGeom = 0; } +/* //---------------------------------------------------------------------- AliITS* AliITSLoader::GetITS(){ // Returns the pointer to the ITS, kept on the file. A short cut metthod @@ -161,6 +191,7 @@ void AliITSLoader::SetupDigits(AliITS *its){ its->SetTreeAddressD(TreeD()); } +*/ //---------------------------------------------------------------------- void AliITSLoader::SetupDigits(TObjArray *digPerDet,Int_t n, const Char_t **digclass){ @@ -244,6 +275,7 @@ AliITSdigit * AliITSLoader::GetDigit(TObjArray *digPerDet,Int_t module, } // end if return 0; } +/* //--------------------------------------------------------------------- AliITSdigit * AliITSLoader::GetDigit(AliITS *its,Int_t module,Int_t digit){ // Gets the digit for for a specific detector type and module. @@ -270,6 +302,7 @@ AliITSdigit * AliITSLoader::GetDigit(AliITS *its,Int_t module,Int_t digit){ } // end if return 0; } +*/ //---------------------------------------------------------------------- void AliITSLoader::MakeTree(Option_t *opt){ // invokes AliLoader::MakeTree + specific ITS tree(s) @@ -287,3 +320,37 @@ void AliITSLoader::MakeTree(Option_t *opt){ const char *oX = strstr(opt,"X"); if (oX) MakeCascadeContainer(); } + +//---------------------------------------------------------------------- +AliITSgeom* AliITSLoader::GetITSgeom(Bool_t force) { + // retrieves the ITS geometry from file + if(fGeom && !force)return fGeom; + if(fGeom && force){ + delete fGeom; + fGeom = 0; + } + AliITSInitGeometry initgeom("AliITSvPPRasymmFMD",2); + fGeom = initgeom.CreateAliITSgeom(); + AliDebug(1,"AliITSgeom object has been initialized from TGeo\n"); + 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; +} +