]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryConstituent.cxx
Unicor is lower case now (Stefan)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryConstituent.cxx
index 821fd261f63b7ab0684bf830347840e008998724..ae8378518c6a944dfc81365cb1d235fa28d16801 100644 (file)
  **************************************************************************/
 
 // $Id$
-//
+
+//-----------------------------------------------------------------------------
 // Class AliMUONGeometryConstituent
 // -----------------------------
 // Helper class for definititon of an assembly of volumes.
 // Author: Ivana Hrivnacova, IPN Orsay
 // 23/01/2004
+//-----------------------------------------------------------------------------
 
 #include <TGeoMatrix.h>
 
 #include "AliMUONGeometryConstituent.h"
+#include "AliLog.h"
 
+/// \cond CLASSIMP
 ClassImp(AliMUONGeometryConstituent)
+/// \endcond
 
 //______________________________________________________________________________
 AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
@@ -33,8 +38,11 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
   : TNamed(name, name),
     fCopyNo(copyNo),
     fNpar(npar),
-    fParam(0)                             
+    fParam(0), 
+    fTransformation(0)                            
 {                                  
+/// Standard constructor for a constituent without translation & rotation
+
   // fTransformation = new TGeoCombiTrans(name);
            // would be nice to be so simple 
 
@@ -58,6 +66,8 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
     fParam(0),                            
     fTransformation(0) 
 {
+/// Standard constructor for a constituent with translation
+
   // Create the constituent transformation
   fTransformation = new TGeoCombiTrans(translation, TGeoRotation());
 
@@ -81,6 +91,8 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
     fParam(0),                            
     fTransformation(0) 
 {
+/// Standard constructor for a constituent with translation and rotation
+
   // Create the constituent transformation
   fTransformation = new TGeoCombiTrans(translation, rotation);
 
@@ -92,44 +104,46 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
 }
 
 //______________________________________________________________________________
-AliMUONGeometryConstituent::AliMUONGeometryConstituent()
-  : TNamed(),
-    fCopyNo(0),
-    fNpar(0),
+AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
+                                   Int_t copyNo, 
+                                  const TGeoCombiTrans& transform, 
+                                  Int_t npar, Double_t* param)
+                                  
+  : TNamed(name, name),
+    fCopyNo(copyNo),
+    fNpar(npar),
     fParam(0),                            
     fTransformation(0) 
 {
-// Default constructor
-}
+/// Standard constructor for a constituent with translation and rotation
+/// defined via TGeoCombiTrans
 
+  // Create the constituent transformation
+  fTransformation = new TGeoCombiTrans(transform);
 
-//______________________________________________________________________________
-AliMUONGeometryConstituent::AliMUONGeometryConstituent(
-                                        const AliMUONGeometryConstituent& rhs)
-  : TNamed(rhs)
-{
-  Fatal("Copy constructor", 
-        "Copy constructor is not implemented.");
+  // Volume parameters
+  if (npar > 0) {
+    fParam = new Double_t[npar];
+    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
+  }  
 }
 
 //______________________________________________________________________________
-AliMUONGeometryConstituent::~AliMUONGeometryConstituent() 
+AliMUONGeometryConstituent::AliMUONGeometryConstituent()
+  : TNamed(),
+    fCopyNo(0),
+    fNpar(0),
+    fParam(0),                            
+    fTransformation(0) 
 {
-//
-  delete fTransformation;
-  delete [] fParam;
+/// Default constructor
 }
 
 //______________________________________________________________________________
-AliMUONGeometryConstituent& 
-AliMUONGeometryConstituent::operator = (const AliMUONGeometryConstituent& rhs) 
+AliMUONGeometryConstituent::~AliMUONGeometryConstituent() 
 {
-  // check assignement to self
-  if (this == &rhs) return *this;
+/// Destructor
 
-  Fatal("operator=", 
-        "Assignment operator is not implemented.");
-    
-  return *this;  
+  delete fTransformation;
+  delete [] fParam;
 }
-