/// \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;
{
public:
AliMUONGeometryModuleTransformer(Int_t moduleId);
- AliMUONGeometryModuleTransformer();
+ AliMUONGeometryModuleTransformer(TRootIOCtor* /*ioCtor*/);
virtual ~AliMUONGeometryModuleTransformer();
+ // static methods
+ static const TString& GetModuleNamePrefix();
+ static TString GetModuleName(Int_t moduleId);
+
// 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();
+ /// Not implemented
AliMUONGeometryModuleTransformer(const AliMUONGeometryModuleTransformer& rhs);
+ /// Not implemented
AliMUONGeometryModuleTransformer&
operator = (const AliMUONGeometryModuleTransformer& rhs);
private:
// 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
};
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; }