**************************************************************************/
// $Id$
-//
+
+//-----------------------------------------------------------------------------
// Class AliMUONGeometryModule
// -----------------------------
// Class for definition of the detector module parameters
// sensitive volumes and detection elements).
//
// Author: Ivana Hrivnacova, IPN Orsay
-
-#include <TVirtualMC.h>
-#include <TGeoMatrix.h>
-#include <TObjArray.h>
-#include <TArrayI.h>
-#include <Riostream.h>
-
-#include "AliLog.h"
+//-----------------------------------------------------------------------------
#include "AliMUONGeometryModule.h"
#include "AliMUONGeometryModuleTransformer.h"
#include "AliMUONGeometryEnvelope.h"
#include "AliMUONGeometryEnvelopeStore.h"
#include "AliMUONGeometryDetElement.h"
-#include "AliMUONGeometryStore.h"
-#include "AliMUONGeometrySVMap.h"
+#include "AliMUONStringIntMap.h"
+#include "AliLog.h"
+
+#include <TVirtualMC.h>
+#include <TGeoMatrix.h>
+#include <TObjArray.h>
+#include <TArrayI.h>
+#include <Riostream.h>
+
+/// \cond CLASSIMP
ClassImp(AliMUONGeometryModule)
+/// \endcond
//______________________________________________________________________________
AliMUONGeometryModule::AliMUONGeometryModule(Int_t moduleId)
: TObject(),
fIsVirtual(true),
- fMotherVolume("ALIC"),
- fVolume("NONE"),
fNofSVs(0),
fSVVolumeIds(0),
fEnvelopes(0),
fSVVolumeIds = new TArrayI(20);
// Sensitive volumes map
- fSVMap = new AliMUONGeometrySVMap(100);
+ fSVMap = new AliMUONStringIntMap();
// Geometry parametrisation
fTransformer = new AliMUONGeometryModuleTransformer(moduleId);
AliMUONGeometryModule::AliMUONGeometryModule()
: TObject(),
fIsVirtual(true),
- fMotherVolume(),
- fVolume(),
fNofSVs(0),
fSVVolumeIds(0),
fEnvelopes(0),
/// Default constructor
}
-
-//______________________________________________________________________________
-AliMUONGeometryModule::AliMUONGeometryModule(const AliMUONGeometryModule& rhs)
- : TObject(rhs)
-{
-/// Protected copy constructor
-
- AliFatal("Copy constructor is not implemented.");
-}
-
//______________________________________________________________________________
AliMUONGeometryModule::~AliMUONGeometryModule()
{
delete fTransformer;
}
-//______________________________________________________________________________
-AliMUONGeometryModule&
-AliMUONGeometryModule::operator = (const AliMUONGeometryModule& rhs)
-{
-/// Protected assignement operator
-
- // check assignement to self
- if (this == &rhs) return *this;
-
- AliFatal("Assignment operator is not implemented.");
-
- return *this;
-}
-
//
// private methods
//
// public methods
//
-//______________________________________________________________________________
-void AliMUONGeometryModule::SetVolume(const TString& volumeName)
-{
-/// Set the concrete volume associated with this module.
-/// The module in not virtual in this case
-
- fVolume = volumeName;
- fIsVirtual = false;
-}
-
//______________________________________________________________________________
void AliMUONGeometryModule::SetTransformation(const TGeoCombiTrans& transform)
{
fTransformer->SetTransformation(transform);
}
+//______________________________________________________________________________
+void AliMUONGeometryModule::SetVolumePath(const TString& volumePath)
+{
+/// Set the volume path to transformer
+
+ fTransformer->SetVolumePath(volumePath);
+}
+
//______________________________________________________________________________
void AliMUONGeometryModule::SetSensitiveVolume(Int_t svVolId)
{
AliMUONGeometryDetElement*
AliMUONGeometryModule::FindBySensitiveVolume(const TString& sensVolume) const
{
-/// Find TGeoCombiTrans for the detector element Id specified by aligned volume
+/// Find detection element which the sensitive volume specified by name belongs to
- Int_t detElemId = fSVMap->GetDetElemId(sensVolume);
+ Int_t detElemId = fSVMap->Get(sensVolume);
if (!detElemId) return 0;
// The specified sensitive volume is not in the map