]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryTransformer.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryTransformer.h
index e46fa62944f03e41500e777e9f2658e0b26b65bc..1ca5bdc037e665b3f161467070e4b92d3cb3266b 100644 (file)
@@ -14,7 +14,7 @@
 /// If geometry is loaded from a file, the list of aligned volume paths
 /// has to be read first from volpaths.dat file.
 /// 
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_TRANSFORMER_H
 #define ALI_MUON_GEOMETRY_TRANSFORMER_H
@@ -32,7 +32,7 @@ class TClonesArray;
 class AliMUONGeometryTransformer : public TObject
 {
   public:
-    AliMUONGeometryTransformer(Bool_t isOwner);
+    AliMUONGeometryTransformer(Bool_t isOwner, const TString& detName = "MUON");
     AliMUONGeometryTransformer();
     virtual  ~AliMUONGeometryTransformer();
     
@@ -41,6 +41,10 @@ class AliMUONGeometryTransformer : public TObject
     void  AddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix);
     void  AddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix);
 
+    void  AddAlignableVolumes() const; 
+    TClonesArray* CreateZeroAlignmentData() const;
+    void  ClearMisAlignmentData();                            
+
     // IO
     //
     Bool_t  ReadGeometryData(const TString& volPathFileName,
@@ -84,12 +88,14 @@ class AliMUONGeometryTransformer : public TObject
     const AliMUONGeometryDetElement* GetDetElement(
                                Int_t detElemId, Bool_t warn = true) const;
 
-    const TClonesArray* GetMisAlignmentData() const;                          
-
+    const TClonesArray* GetMisAlignmentData() const;
+    
     Bool_t  HasDE(Int_t detElemId) const;
 
   protected:
+    /// Not implemented
     AliMUONGeometryTransformer(const AliMUONGeometryTransformer& right);
+    /// Not implemented
     AliMUONGeometryTransformer&  operator = (const AliMUONGeometryTransformer& right);
  
   private:
@@ -128,18 +134,25 @@ class AliMUONGeometryTransformer : public TObject
     void    WriteDetElemVolPaths(ofstream& out) const;
     void    WriteModuleTransforms(ofstream& out) const;
     void    WriteDetElemTransforms(ofstream& out) const;
+    
+    TString GetModuleSymName(Int_t moduleId) const;
+    TString GetDESymName(Int_t detElemId) const;
 
     // data members
-    TObjArray*     fModuleTransformers; // arryy of module transformers
-    TClonesArray*  fMisAlignArray;      // array of misalignment data
+    TString        fDetectorName;       ///< Detector name
+    TObjArray*     fModuleTransformers; ///< array of module transformers
+    TClonesArray*  fMisAlignArray;      ///< array of misalignment data
 
   ClassDef(AliMUONGeometryTransformer,2)  // Geometry parametrisation
 };
 
 // inline methods
+
+/// Return the number of contained module transformers
 inline Int_t AliMUONGeometryTransformer::GetNofModuleTransformers() const
 { return fModuleTransformers->GetEntriesFast(); }
 
+/// Return the array of misalignment data
 inline const TClonesArray* AliMUONGeometryTransformer::GetMisAlignmentData() const     
 { return fMisAlignArray; }