**************************************************************************/
// $Id$
-//
+
+//-----------------------------------------------------------------------------
// Class AliMUONGeometryEnvelope
// -----------------------------
-// Helper class for definititon an assembly of volumes.
+// Helper class for definititon of an assembly of volumes.
// Author: Ivana Hrivnacova, IPN Orsay
// 23/01/2004
+//-----------------------------------------------------------------------------
#include <TGeoMatrix.h>
#include <TString.h>
#include "AliMUONGeometryConstituent.h"
#include "AliLog.h"
+/// \cond CLASSIMP
ClassImp(AliMUONGeometryEnvelope)
+/// \endcond
//______________________________________________________________________________
AliMUONGeometryEnvelope::AliMUONGeometryEnvelope(const TString& name,
fTransformation(0),
fConstituents(0)
{
-// Standard constructor
+/// Standard constructor
if (TString(only) == TString("MANY")) fIsMANY = true;
fTransformation(0),
fConstituents(0)
{
-// Standard constructor
+/// Standard constructor for a non virtual enevelope with a specified copy
+/// number
if (TString(only) == TString("MANY")) fIsMANY = true;
fTransformation(0),
fConstituents(0)
{
-// Default constructor
-}
-
-
-//______________________________________________________________________________
-AliMUONGeometryEnvelope::AliMUONGeometryEnvelope(
- const AliMUONGeometryEnvelope& rhs)
- : TNamed(rhs)
-{
- AliFatal("Copy constructor is not implemented.");
+/// Default constructor
}
//______________________________________________________________________________
AliMUONGeometryEnvelope::~AliMUONGeometryEnvelope()
{
-//
+/// Destructor
+
// Add deleting rotation matrices
delete fTransformation;
}
}
-//______________________________________________________________________________
-AliMUONGeometryEnvelope&
-AliMUONGeometryEnvelope::operator = (const AliMUONGeometryEnvelope& rhs)
-{
- // check assignement to self
- if (this == &rhs) return *this;
-
- AliFatal("Assignment operator is not implemented.");
-
- return *this;
-}
-
//
// public methods
//
//______________________________________________________________________________
void AliMUONGeometryEnvelope::AddConstituent(const TString& name, Int_t copyNo)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents->Add(new AliMUONGeometryConstituent(name, copyNo, 0, 0));
}
void AliMUONGeometryEnvelope::AddConstituent(const TString& name, Int_t copyNo,
const TGeoTranslation& translation)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(name, copyNo, translation, 0, 0));
const TGeoTranslation& translation,
const TGeoRotation& rotation)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(
void AliMUONGeometryEnvelope::AddConstituent(const TString& name, Int_t copyNo,
const TGeoCombiTrans& transform )
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(
void AliMUONGeometryEnvelope::AddConstituentParam(const TString& name,
Int_t copyNo, Int_t npar, Double_t* param)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(name, copyNo, npar, param));
Int_t copyNo, const TGeoTranslation& translation,
Int_t npar, Double_t* param)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(
const TGeoRotation& rotation,
Int_t npar, Double_t* param)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(
const TGeoCombiTrans& transform,
Int_t npar, Double_t* param)
{
-// Adds the volume with the specified name and transformation
-// to the list of envelopes.
-// ---
+/// Add the volume with the specified name and transformation
+/// to the list of envelopes.
fConstituents
->Add(new AliMUONGeometryConstituent(
//______________________________________________________________________________
void AliMUONGeometryEnvelope::SetTranslation(const TGeoTranslation& translation)
{
-// Sets the envelope position
-// ---
+/// Set the envelope position
fTransformation
->SetTranslation(const_cast<Double_t*>(translation.GetTranslation()));
//______________________________________________________________________________
void AliMUONGeometryEnvelope::SetRotation(const TGeoRotation& rotation)
{
-// Sets the enevlope rotation
-// ---
+/// Set the envelope rotation
TGeoRotation* rot = new TGeoRotation();
rot->SetMatrix(const_cast<Double_t*>(rotation.GetRotationMatrix()));
//______________________________________________________________________________
void AliMUONGeometryEnvelope::SetTransform(const TGeoCombiTrans& transform)
{
-// Sets the enevlope transformation
-// ---
+/// Set the envelope transformation
fTransformation
->SetTranslation(const_cast<Double_t*>(transform.GetTranslation()));