]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryBuilder.h
Fixed memory leak
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryBuilder.h
index a493640c9d8354f2f0ba3c95fad702225c757338..a55311ad8b45976232236422e9dba8643a996033 100644 (file)
@@ -7,7 +7,7 @@
 /// \class AliMUONGeometryBuilder
 /// \brief Manager class for geometry construction via geometry builders.
 ///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_BUILDER_H
 #define ALI_MUON_GEOMETRY_BUILDER_H
@@ -44,9 +44,11 @@ class AliMUONGeometryBuilder : public TObject
 
     void  InitGeometry();
     void  InitGeometry(const TString& svmapFileName);
+    void  UpdateInternalGeometry();
 
     void  WriteSVMaps();
-    void  WriteSVMaps(const TString& fileName, Bool_t rebuild = true);
+    void  WriteSVMaps(const TString& fileName, 
+                      Bool_t rebuild = true, Bool_t writeEnvelopes = true);
     
     // Geometry parametrisation
     const AliMUONGeometry*            GetGeometry() const;
@@ -58,23 +60,24 @@ class AliMUONGeometryBuilder : public TObject
     virtual void    SetAlign(const TString& fileName, Bool_t align = true);
  
   protected:
+    /// Not implemented
     AliMUONGeometryBuilder(const AliMUONGeometryBuilder& right);
+    /// Not implemented
     AliMUONGeometryBuilder&  operator = (const AliMUONGeometryBuilder& right);
  
   private:
+    // static methods
+    static const TString& GetDefaultTransformFileName();    
+    static const TString& GetDefaultSVMapFileName();    
+    static const TString& GetOutFileNameExtension();        
+
     // method
     void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo, 
              const TGeoHMatrix& matrix, Int_t npar, Double_t* param,
             const char* only, Bool_t makeAssembly = false) const;
     void CreateGeometryWithTGeo();
     void CreateGeometryWithoutTGeo();
-    void SetAlign(AliMUONVGeometryBuilder* builder);        
-
-    // static data members
-    static const TString  fgkDefaultVolPathsFileName;  ///< default volume paths file name                                        
-    static const TString  fgkDefaultTransformFileName; ///< default transformations file name                                     
-    static const TString  fgkDefaultSVMapFileName;     ///< default svmaps file name                                      
-    static const TString  fgkOutFileNameExtension;     ///< default output file name extension                                    
+    void SetAlignToBuilder(AliMUONVGeometryBuilder* builder) const;         
 
     // data members
     AliModule*       fModule;              ///< the AliRoot module
@@ -92,20 +95,25 @@ class AliMUONGeometryBuilder : public TObject
 
 // inline functions
 
+/// Initialize geometry
 inline void  AliMUONGeometryBuilder::InitGeometry()
 { InitGeometry(fSVMapFileName); }
 
+/// Write sensitive volume maps
 inline void  AliMUONGeometryBuilder::WriteSVMaps()
-{ WriteSVMaps(fSVMapFileName + fgkOutFileNameExtension); }
+{ WriteSVMaps(fSVMapFileName + GetOutFileNameExtension()); }
 
+/// Return geometry parametrisation
 inline 
 const AliMUONGeometry* AliMUONGeometryBuilder::GetGeometry() const
 { return fGeometry; }
 
+/// Return geometry transformer
 inline 
 const AliMUONGeometryTransformer* AliMUONGeometryBuilder::GetTransformer() const
 { return fGeometry->GetTransformer(); }
 
+/// Return option for reading transformations from a file
 inline Bool_t  AliMUONGeometryBuilder::GetAlign() const
 { return fAlign; }