]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryEnvelopeStore.h
Pre-allocate right amount of memory when used for de,manu storage (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryEnvelopeStore.h
index 1e73b8f45d8db45d4abaaab1b320dcb16775114c..a02896f9dd62b5b882d9fbf6521adfa1b2f01eb0 100644 (file)
@@ -10,7 +10,7 @@
 /// Class for definititon of the temporary volume envelopes
 /// used in geometry construction
 ///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_ENVELOPE_STORE_H
 #define ALI_MUON_GEOMETRY_ENVELOPE_STORE_H
@@ -27,20 +27,15 @@ class TString;
 
 class AliMUONChamber;
 class AliMUONGeometryEnvelope;
-class AliMUONGeometryStore;
+class AliMpExMap;
 
 class AliMUONGeometryEnvelopeStore : public TObject
 {
   public:
-    AliMUONGeometryEnvelopeStore(AliMUONGeometryStore* detElements);
+    AliMUONGeometryEnvelopeStore(AliMpExMap* detElements);
     AliMUONGeometryEnvelopeStore();
-    AliMUONGeometryEnvelopeStore(const AliMUONGeometryEnvelopeStore& rhs);
     virtual ~AliMUONGeometryEnvelopeStore();
 
-    // operators  
-    AliMUONGeometryEnvelopeStore& 
-    operator = (const AliMUONGeometryEnvelopeStore& rhs);
-  
     // methods
         
           // adding virtual envelopes  
@@ -124,21 +119,26 @@ class AliMUONGeometryEnvelopeStore : public TObject
     const TObjArray*  GetEnvelopes() const;
     Int_t             GetNofDetElements() const;
 
+    AliMUONGeometryEnvelope* FindEnvelope(const TString& name) const;
+
+  protected:
+    AliMUONGeometryEnvelopeStore(const AliMUONGeometryEnvelopeStore& rhs);
+    AliMUONGeometryEnvelopeStore& operator = (const AliMUONGeometryEnvelopeStore& rhs);
+
   private:
     // methods
     TGeoHMatrix ConvertDETransform(const TGeoHMatrix& transform) const;
-    AliMUONGeometryEnvelope* FindEnvelope(const TString& name) const;
     Bool_t AlignEnvelope(AliMUONGeometryEnvelope* envelope) const;
  
     // data members
-    TObjArray*  fEnvelopes; ///< \brief the envelopes names and transformations
-                           /// wrt to the chamber position in mother volume                                 
-    AliMUONGeometryStore*  fDetElements; ///< \brief detection elements
-                            /// used for alignement of enevelopes
+    TObjArray*   fEnvelopes; ///< \brief the envelopes names and transformations
+                            /// wrt to the chamber position in mother volume                                 
+    AliMpExMap*  fDetElements; ///< \brief detection elements
+                               /// used for alignement of envelopes
     TGeoCombiTrans fReferenceFrame; ///< \brief the transformation from the builder 
                                     /// reference frame to that of the transform 
                                    /// data files
-    Bool_t      fDebug;     ///< Switch for debugging  
+    Bool_t      fDebug;     ///< Switch for debugging  \deprecated - use AliLog instead
     Bool_t      fAlign;     ///< option to read transformations from a file
  
   ClassDef(AliMUONGeometryEnvelopeStore,2) // Geometry envelope store
@@ -146,18 +146,26 @@ class AliMUONGeometryEnvelopeStore : public TObject
 
 // inline functions
 
+/// Set debug option
+/// \deprecated - use AliLog instead
 inline void  AliMUONGeometryEnvelopeStore::SetDebug(Bool_t debug)
 { fDebug = debug; }
 
+/// Return align option - if true, transformations are read from a file
 inline Bool_t  AliMUONGeometryEnvelopeStore::GetAlign() const
 { return fAlign; }
 
+/// Set align option - if true, transformations are read from a file
 inline void AliMUONGeometryEnvelopeStore::SetAlign(Bool_t align)
 { fAlign = align; }
 
+/// Return the array of the envelopes names and transformations
+/// wrt to the chamber position in mother volume
 inline const TObjArray* AliMUONGeometryEnvelopeStore::GetEnvelopes() const
 { return fEnvelopes; }
 
+/// Set the transformation from the builder reference frame to that of the transform 
+/// data files
 inline void 
 AliMUONGeometryEnvelopeStore::SetReferenceFrame(const TGeoCombiTrans& referenceFrame)
 { fReferenceFrame = referenceFrame; }