removed obsolete AliMUONAlignmentRecord classes (AliMillePedeRecord is now used,...
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryModuleTransformer.h
index 5068c36..2df899c 100644 (file)
@@ -6,13 +6,12 @@
 
 /// \ingroup geometry
 /// \class AliMUONGeometryModuleTransformer
-/// \brief Geometry transformationer for detector module
+/// \brief Geometry transformer for a detector module
 ///
-/// Class for definition of the detector module parameters
-/// (the transformations of detection elements, mapping between
-///  sensitive volumes and detection elements).
+/// Class for definition of the transformation for a detector module
+/// and its detection elements
 ///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_MODULE_TRANSFORMER_H
 #define ALI_MUON_GEOMETRY_MODULE_TRANSFORMER_H
@@ -21,7 +20,8 @@
 #include <TString.h>
 
 class AliMUONGeometryDetElement;
-class AliMUONGeometryStore;
+
+class AliMpExMap;
 
 class TGeoTranslation;
 class TGeoRotation;
@@ -33,9 +33,13 @@ class AliMUONGeometryModuleTransformer : public TObject
 {
   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, 
@@ -57,53 +61,67 @@ class AliMUONGeometryModuleTransformer : public TObject
  
     // 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);
-    // operators  
+    /// 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
-    AliMUONGeometryStore* fDetElements;   ///< detection elements
+                                          /// volume (world)
+    AliMpExMap*           fDetElements;   ///< detection elements
  
   ClassDef(AliMUONGeometryModuleTransformer,3) // MUON geometry module class
 };
 
 // inline functions
 
+/// Set the full path of aligned module volume or envelope in geometry
 inline void 
 AliMUONGeometryModuleTransformer::SetVolumePath(const TString& volumePath)
 { fVolumePath = volumePath; }
 
+/// Return module ID
 inline Int_t  
 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 fVolumePath; }
 
+/// Return the module transformation wrt to the top volume (world)
 inline const TGeoHMatrix* 
 AliMUONGeometryModuleTransformer::GetTransformation() const 
 { return fTransformation; }
 
-inline  AliMUONGeometryStore* 
+/// Return detection elements associated with this module
+inline  AliMpExMap* 
 AliMUONGeometryModuleTransformer::GetDetElementStore() const
 { return fDetElements; }