From 5c4bcd63339c0b9120412f41bae735e5326930b0 Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 27 Aug 2004 09:00:06 +0000 Subject: [PATCH] Search for new detector object only in case its loader changed --- EMCAL/AliEMCALGetter.cxx | 11 ++++++++++- PHOS/AliPHOSGetter.cxx | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/EMCAL/AliEMCALGetter.cxx b/EMCAL/AliEMCALGetter.cxx index fb48153b7c7..9ef6fb7e836 100644 --- a/EMCAL/AliEMCALGetter.cxx +++ b/EMCAL/AliEMCALGetter.cxx @@ -390,7 +390,16 @@ Int_t AliEMCALGetter::NPrimaries() const AliEMCAL * AliEMCALGetter:: EMCAL() const { // returns the EMCAL object - AliEMCAL * emcal = dynamic_cast(EmcalLoader()->GetModulesFolder()->FindObject("EMCAL")) ; + AliEMCALLoader * loader = 0; + static AliEMCALLoader * oldloader = 0; + static AliEMCAL * emcal = 0; + + loader = EmcalLoader(); + + if (loader != oldloader ) { + emcal = dynamic_cast(loader->GetModulesFolder()->FindObject("EMCAL")) ; + oldloader = loader; + } if (!emcal) if (fgDebug) Warning("EMCAL", "EMCAL module not found in module folders: %s", EmcalLoader()->GetModulesFolder()->GetName() ) ; diff --git a/PHOS/AliPHOSGetter.cxx b/PHOS/AliPHOSGetter.cxx index 9f94b708c39..7fe9f3b3ed9 100644 --- a/PHOS/AliPHOSGetter.cxx +++ b/PHOS/AliPHOSGetter.cxx @@ -421,7 +421,16 @@ TParticle * AliPHOSGetter::Primary(Int_t index) const AliPHOS * AliPHOSGetter:: PHOS() const { // returns the PHOS object - AliPHOS * phos = dynamic_cast(PhosLoader()->GetModulesFolder()->FindObject("PHOS")) ; + AliPHOSLoader * loader = 0; + static AliPHOSLoader * oldloader = 0; + static AliPHOS * phos = 0; + + loader = PhosLoader(); + + if ( loader != oldloader) { + phos = dynamic_cast(loader->GetModulesFolder()->FindObject("PHOS")) ; + oldloader = loader; + } if (!phos) if (fgDebug) Warning("PHOS", "PHOS module not found in module folders: %s", PhosLoader()->GetModulesFolder()->GetName() ) ; -- 2.39.3