X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=MUON%2FAliMUONGeometryModuleTransformer.cxx;h=2f9bf0ffabee3732db4fa2e9676f068519018896;hb=b1fea14f4c91213151537f91ffdd7189de82447b;hp=cdb3d3f2e15b9c9f4ad3f14773b2cb5e385ee035;hpb=eb2882961d513174898694f9716fcedb6f79a7f3;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONGeometryModuleTransformer.cxx b/MUON/AliMUONGeometryModuleTransformer.cxx index cdb3d3f2e15..2f9bf0ffabe 100644 --- a/MUON/AliMUONGeometryModuleTransformer.cxx +++ b/MUON/AliMUONGeometryModuleTransformer.cxx @@ -14,16 +14,18 @@ **************************************************************************/ // $Id$ -// -// ------------------------------------- + +//----------------------------------------------------------------------------- // Class AliMUONGeometryModuleTransformer // ------------------------------------- // Class for definition of the detector module transformations // Author: Ivana Hrivnacova, IPN Orsay +//----------------------------------------------------------------------------- #include "AliMUONGeometryModuleTransformer.h" #include "AliMUONGeometryDetElement.h" -#include "AliMUONGeometryStore.h" + +#include "AliMpExMap.h" #include "AliLog.h" @@ -39,11 +41,21 @@ ClassImp(AliMUONGeometryModuleTransformer) const TString AliMUONGeometryModuleTransformer::fgkModuleNamePrefix = "GM"; +//______________________________________________________________________________ +TString AliMUONGeometryModuleTransformer::GetModuleName(Int_t moduleId) +{ +/// Return the module name for given moduleId + + TString moduleName(fgkModuleNamePrefix); + moduleName += moduleId; + return moduleName; +} + //______________________________________________________________________________ AliMUONGeometryModuleTransformer::AliMUONGeometryModuleTransformer(Int_t moduleId) : TObject(), fModuleId(moduleId), - fModuleName(), + fModuleName(GetModuleName(moduleId)), fVolumePath(), fTransformation(0), fDetElements(0) @@ -54,16 +66,12 @@ AliMUONGeometryModuleTransformer::AliMUONGeometryModuleTransformer(Int_t moduleI fTransformation = new TGeoHMatrix(""); // Det elements transformation stores - fDetElements = new AliMUONGeometryStore(true); - - // Compose module name - fModuleName = fgkModuleNamePrefix; - fModuleName += moduleId; + fDetElements = new AliMpExMap; } //______________________________________________________________________________ -AliMUONGeometryModuleTransformer::AliMUONGeometryModuleTransformer() +AliMUONGeometryModuleTransformer::AliMUONGeometryModuleTransformer(TRootIOCtor* /*ioCtor*/) : TObject(), fModuleId(0), fModuleName(), @@ -71,7 +79,7 @@ AliMUONGeometryModuleTransformer::AliMUONGeometryModuleTransformer() fTransformation(0), fDetElements(0) { -/// Default constructor +/// Root IO constructor } @@ -182,7 +190,8 @@ TString AliMUONGeometryModuleTransformer::GetMotherVolumeName() const std::string volPath = fVolumePath.Data(); std::string::size_type first = volPath.rfind('/'); - volPath = volPath.substr(0, first); + if ( first != std::string::npos ) + volPath = volPath.substr(0, first); std::string::size_type next = volPath.rfind('/')+1; std::string::size_type last = volPath.rfind('_'); @@ -199,7 +208,7 @@ AliMUONGeometryModuleTransformer::GetDetElement(Int_t detElemId, Bool_t warn) co // Get detection element AliMUONGeometryDetElement* detElement - = (AliMUONGeometryDetElement*) fDetElements->Get(detElemId, warn); + = (AliMUONGeometryDetElement*) fDetElements->GetValue(detElemId); if (!detElement) { if (warn)