]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryConstituent.cxx
- Class description on 5 lines (Coding conventions)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryConstituent.cxx
index 9f96d320926c75ba7bf3eca37099a8e5f0034604..88ef8c537e5c395f6ff15f868fa4699ec669ce04 100644 (file)
@@ -1,14 +1,30 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
 // $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"
 
 ClassImp(AliMUONGeometryConstituent)
 
@@ -20,6 +36,8 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
     fNpar(npar),
     fParam(0)                             
 {                                  
+/// Standard constructor for a constituent without translation & rotation
+
   // fTransformation = new TGeoCombiTrans(name);
            // would be nice to be so simple 
 
@@ -43,6 +61,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());
 
@@ -66,6 +86,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);
 
@@ -76,6 +98,31 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
   }  
 }
 
+//______________________________________________________________________________
+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) 
+{
+/// Standard constructor for a constituent with translation and rotation
+/// defined via TGeoCombiTrans
+
+  // Create the constituent transformation
+  fTransformation = new TGeoCombiTrans(transform);
+
+  // Volume parameters
+  if (npar > 0) {
+    fParam = new Double_t[npar];
+    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
+  }  
+}
+
 //______________________________________________________________________________
 AliMUONGeometryConstituent::AliMUONGeometryConstituent()
   : TNamed(),
@@ -84,7 +131,7 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent()
     fParam(0),                            
     fTransformation(0) 
 {
-// Default constructor
+/// Default constructor
 }
 
 
@@ -93,27 +140,30 @@ AliMUONGeometryConstituent::AliMUONGeometryConstituent(
                                         const AliMUONGeometryConstituent& rhs)
   : TNamed(rhs)
 {
-  Fatal("Copy constructor", 
-        "Copy constructor is not implemented.");
+/// Protected copy constructor
+
+  AliFatal("Copy constructor is not implemented.");
 }
 
 //______________________________________________________________________________
 AliMUONGeometryConstituent::~AliMUONGeometryConstituent() 
 {
-//
+/// Destructor
+
   delete fTransformation;
-  delete fParam;
+  delete [] fParam;
 }
 
 //______________________________________________________________________________
 AliMUONGeometryConstituent& 
 AliMUONGeometryConstituent::operator = (const AliMUONGeometryConstituent& rhs) 
 {
+/// Protected assignment operator
+
   // check assignement to self
   if (this == &rhs) return *this;
 
-  Fatal("operator=", 
-        "Assignment operator is not implemented.");
+  AliFatal("Assignment operator is not implemented.");
     
   return *this;  
 }