/// \class AliMUONGeometryModuleTransformer
/// \brief Geometry transformer for a detector module
///
-/// Class for definition of the trasformation for adetector module
+/// Class for definition of the transformation for a detector module
/// and its detection elements
///
/// \author Ivana Hrivnacova, IPN Orsay
#include <TString.h>
class AliMUONGeometryDetElement;
-class AliMUONGeometryStore;
+
+class AliMpExMap;
class TGeoTranslation;
class TGeoRotation;
AliMUONGeometryModuleTransformer();
virtual ~AliMUONGeometryModuleTransformer();
+ // static methods
+ static TString GetModuleNamePrefix();
+
// methods
void Global2Local(Int_t detElemId,
Float_t xg, Float_t yg, Float_t zg,
// get methods
Int_t GetModuleId() const;
+ TString GetModuleName() const;
TString GetVolumePath() const;
TString GetVolumeName() const;
TString GetMotherVolumeName() const;
const TGeoHMatrix* GetTransformation() const;
-
- AliMUONGeometryStore* GetDetElementStore() const;
- AliMUONGeometryDetElement* GetDetElement(
- Int_t detElemId, Bool_t warn = true) const;
+ AliMpExMap* GetDetElementStore() const;
+ AliMUONGeometryDetElement*
+ GetDetElement(Int_t detElemId, Bool_t warn = true) const;
protected:
+ /// Not implemented
AliMUONGeometryModuleTransformer(const AliMUONGeometryModuleTransformer& rhs);
+ /// Not implemented
AliMUONGeometryModuleTransformer&
operator = (const AliMUONGeometryModuleTransformer& rhs);
private:
+ // static data members
+ static const TString fgkModuleNamePrefix; ///< Geometry module name prefix
+
// data members
Int_t fModuleId; ///< the module Id
+ TString fModuleName; ///< the module name
TString fVolumePath; ///< \brief the full path of aligned module volume
/// or envelope in geometry
TGeoHMatrix* fTransformation;///< \brief the module transformation wrt to top
/// volume (world)
- AliMUONGeometryStore* fDetElements; ///< detection elements
+ AliMpExMap* fDetElements; ///< detection elements
ClassDef(AliMUONGeometryModuleTransformer,3) // MUON geometry module class
};
// inline functions
+/// Return module name prefix
+inline TString
+AliMUONGeometryModuleTransformer::GetModuleNamePrefix()
+{ return fgkModuleNamePrefix; }
+
/// Set the full path of aligned module volume or envelope in geometry
inline void
AliMUONGeometryModuleTransformer::SetVolumePath(const TString& volumePath)
AliMUONGeometryModuleTransformer::GetModuleId() const
{ return fModuleId; }
+/// Return module name
+inline TString
+AliMUONGeometryModuleTransformer::GetModuleName() const
+{ return fModuleName; }
+
/// Return the full path of aligned module volume or envelope in geometry
inline TString
AliMUONGeometryModuleTransformer::GetVolumePath() const
{ return fTransformation; }
/// Return detection elements associated with this module
-inline AliMUONGeometryStore*
+inline AliMpExMap*
AliMUONGeometryModuleTransformer::GetDetElementStore() const
{ return fDetElements; }