]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryDetElement.h
Bug fixes (some outliers in central events) (from Redmer)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryDetElement.h
index 9c72eacd082aac6fbe9218ac1ca44f3e97a59144..6b07be1a53b5f1999d87b37527df0bae138bb39e 100644 (file)
@@ -7,7 +7,7 @@
 /// \class AliMUONGeometryDetElement
 /// \brief Class for storing detection element transformations 
 ///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_DET_ELEMENT_H
 #define ALI_MUON_GEOMETRY_DET_ELEMENT_H
@@ -20,11 +20,15 @@ class TGeoHMatrix;
 class AliMUONGeometryDetElement : public TObject
 {
   public:
-    AliMUONGeometryDetElement(Int_t detElemId,
-                              const TString& volumePath);
-    AliMUONGeometryDetElement();
+    AliMUONGeometryDetElement(Int_t detElemId);
+    AliMUONGeometryDetElement(Int_t detElemId, const TString& volumePath);
+    AliMUONGeometryDetElement(TRootIOCtor* /*ioCtor*/);
     virtual ~AliMUONGeometryDetElement();
 
+    // static methods
+    static const TString& GetDENamePrefix();
+    static TString GetDEName(Int_t detElemId);
+
     // methods
     void Global2Local(
                  Float_t xg, Float_t yg, Float_t zg, 
@@ -43,12 +47,13 @@ class AliMUONGeometryDetElement : public TObject
     void PrintGlobalTransform() const;
 
     // set methods
-    void SetLocalTransformation(const TGeoHMatrix& transform);
-    void SetGlobalTransformation(const TGeoHMatrix& transform);
+    void SetLocalTransformation(const TGeoHMatrix& transform, Bool_t warn = true);
+    void SetGlobalTransformation(const TGeoHMatrix& transform, Bool_t warn = true);
     void SetVolumePath(const TString& volumePath);
     
     // get methods
     Int_t    GetId() const;
+    TString  GetDEName() const;
     TString  GetVolumePath() const;
     TString  GetVolumeName() const;
     Int_t    GetVolumeCopyNo() const;
@@ -56,39 +61,51 @@ class AliMUONGeometryDetElement : public TObject
     const TGeoHMatrix*  GetGlobalTransformation() const;
 
   protected:
+    /// Not implemented
+    AliMUONGeometryDetElement();
+    /// Not implemented
     AliMUONGeometryDetElement(const AliMUONGeometryDetElement& rhs);
-
-    // operators  
+    /// Not implemented
     AliMUONGeometryDetElement& operator = (const AliMUONGeometryDetElement& rhs);
   
   private:
     // methods
     void PrintTransform(const TGeoHMatrix* transform) const;
-  
     // data members
-    TString       fVolumePath; // the full path of aligned volume or envelope
-                               // in geometry
-    TGeoHMatrix*  fLocalTransformation;  // the transformation wrt module
-    TGeoHMatrix*  fGlobalTransformation; // the transformation wrt world
+    TString       fDEName;     ///< detection element name
+    TString       fVolumePath; ///< \brief the full path of aligned volume
+                               ///  or envelope in geometry
+    TGeoHMatrix*  fLocalTransformation;  ///< the transformation wrt module
+    TGeoHMatrix*  fGlobalTransformation; ///< the transformation wrt world
 
   ClassDef(AliMUONGeometryDetElement,2) // MUON det element transformations
 };
 
 // inline functions
 
+/// Set the full path of the aligned volume or envelope in geometry
 inline void AliMUONGeometryDetElement::SetVolumePath(const TString& volumePath)
 { fVolumePath = volumePath; }
 
+/// Return detection element ID
 inline Int_t AliMUONGeometryDetElement::GetId() const
 { return GetUniqueID(); }
 
+/// Return detection element ID
+inline TString AliMUONGeometryDetElement::GetDEName() const
+{ return fDEName; }
+
+/// Return the full path of the aligned volume or envelope in geometry
 inline TString AliMUONGeometryDetElement::GetVolumePath() const
 { return fVolumePath; }
 
+/// Return the detection element transformation wrt module
 inline const TGeoHMatrix* 
 AliMUONGeometryDetElement::GetLocalTransformation() const
 { return fLocalTransformation; }
 
+/// Return the detection element transformation wrt world
 inline const TGeoHMatrix* 
 AliMUONGeometryDetElement::GetGlobalTransformation() const
 { return fGlobalTransformation; }