1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 // Class AliMUONGeometryConstituent
19 // -----------------------------
20 // Helper class for definititon of an assembly of volumes.
21 // Author: Ivana Hrivnacova, IPN Orsay
24 #include <TGeoMatrix.h>
26 #include "AliMUONGeometryConstituent.h"
29 ClassImp(AliMUONGeometryConstituent)
31 //______________________________________________________________________________
32 AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
33 Int_t copyNo, Int_t npar, Double_t* param)
39 // fTransformation = new TGeoCombiTrans(name);
40 // would be nice to be so simple
42 // Create the constituent transformation
43 fTransformation = new TGeoCombiTrans("");
47 fParam = new Double_t[npar];
48 for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
52 //______________________________________________________________________________
53 AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
54 Int_t copyNo, const TGeoTranslation& translation,
55 Int_t npar, Double_t* param)
62 // Create the constituent transformation
63 fTransformation = new TGeoCombiTrans(translation, TGeoRotation());
67 fParam = new Double_t[npar];
68 for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
73 //______________________________________________________________________________
74 AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
75 Int_t copyNo, const TGeoTranslation& translation,
76 const TGeoRotation& rotation,
77 Int_t npar, Double_t* param)
85 // Create the constituent transformation
86 fTransformation = new TGeoCombiTrans(translation, rotation);
90 fParam = new Double_t[npar];
91 for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
95 //______________________________________________________________________________
96 AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name,
98 const TGeoCombiTrans& transform,
99 Int_t npar, Double_t* param)
101 : TNamed(name, name),
107 // Create the constituent transformation
108 fTransformation = new TGeoCombiTrans(transform);
112 fParam = new Double_t[npar];
113 for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
117 //______________________________________________________________________________
118 AliMUONGeometryConstituent::AliMUONGeometryConstituent()
125 // Default constructor
129 //______________________________________________________________________________
130 AliMUONGeometryConstituent::AliMUONGeometryConstituent(
131 const AliMUONGeometryConstituent& rhs)
134 AliFatal("Copy constructor is not implemented.");
137 //______________________________________________________________________________
138 AliMUONGeometryConstituent::~AliMUONGeometryConstituent()
141 delete fTransformation;
145 //______________________________________________________________________________
146 AliMUONGeometryConstituent&
147 AliMUONGeometryConstituent::operator = (const AliMUONGeometryConstituent& rhs)
149 // check assignement to self
150 if (this == &rhs) return *this;
152 AliFatal("Assignment operator is not implemented.");