]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryEnvelope.h
Alignment data (Ivana)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryEnvelope.h
index 9a2d843bd967c67e2817d02d9569bcc78477f24d..fea08d334ea66105c8f83eaf511d53b499113ac7 100644 (file)
@@ -1,10 +1,16 @@
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
 // $Id$
-//
-// Class AliMUONGeometryEnvelope
-// -----------------------------
-// Helper class for definititon an assembly of volumes.
-//
-// Author: Ivana Hrivnacova, IPN Orsay
+// Revision of includes 07/05/2004
+
+/// \ingroup geometry
+/// \class AliMUONGeometryEnvelope
+/// \brief Geometry envelope helper class
+///
+/// Helper class for definititon of an assembly of volumes.
+///
+/// Author: Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_ENVELOPE_H
 #define ALI_MUON_GEOMETRY_ENVELOPE_H
@@ -19,16 +25,12 @@ class TObjArray;
 class AliMUONGeometryEnvelope : public TNamed
 {
   public:
-    AliMUONGeometryEnvelope(const TString& name, Bool_t isVirtual, 
-                            const char* only); 
-    AliMUONGeometryEnvelope(const TString& name, Int_t copyNo,
-                            const char* only); 
+    AliMUONGeometryEnvelope(const TString& name, Int_t id,  
+                            Bool_t isVirtual, const char* only); 
+    AliMUONGeometryEnvelope(const TString& name,  Int_t id,
+                            Int_t copyNo, const char* only); 
     AliMUONGeometryEnvelope();
-    AliMUONGeometryEnvelope(const AliMUONGeometryEnvelope& rhs);
     virtual ~AliMUONGeometryEnvelope();
-
-    // operators  
-    AliMUONGeometryEnvelope& operator = (const AliMUONGeometryEnvelope& rhs);
   
     // methods
     void  AddConstituent(const TString& name, Int_t copyNo); 
@@ -37,6 +39,8 @@ class AliMUONGeometryEnvelope : public TNamed
     void  AddConstituent(const TString& name, Int_t copyNo,
                          const TGeoTranslation& translation, 
                         const TGeoRotation& rotation);
+    void  AddConstituent(const TString& name, Int_t copyNo,
+                         const TGeoCombiTrans& transform); 
 
     void  AddConstituentParam(const TString& name, Int_t copyNo, 
                          Int_t npar, Double_t* param);
@@ -47,9 +51,13 @@ class AliMUONGeometryEnvelope : public TNamed
                          const TGeoTranslation& translation, 
                         const TGeoRotation& rotation,
                         Int_t npar, Double_t* param);
+    void  AddConstituentParam(const TString& name, Int_t copyNo, 
+                         const TGeoCombiTrans& transform,
+                        Int_t npar, Double_t* param);
 
     void  SetTranslation(const TGeoTranslation& translation);
     void  SetRotation(const TGeoRotation& rotation);
+    void  SetTransform(const TGeoCombiTrans& transform);
 
     // get methods
     Bool_t                 IsVirtual() const;  
@@ -58,6 +66,12 @@ class AliMUONGeometryEnvelope : public TNamed
     const TGeoCombiTrans*  GetTransformation() const;
     const TObjArray*       GetConstituents() const;
 
+  protected:
+    AliMUONGeometryEnvelope(const AliMUONGeometryEnvelope& rhs);
+
+    // operators  
+    AliMUONGeometryEnvelope& operator = (const AliMUONGeometryEnvelope& rhs);
+
   private:
     Bool_t           fIsVirtual;     // true if envelope is not represented
                                      // by a real volume