AliRoot Core  da88d91 (da88d91)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONGeometryEnvelope.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 
4 // $Id$
5 // Revision of includes 07/05/2004
6 
14 
15 #ifndef ALI_MUON_GEOMETRY_ENVELOPE_H
16 #define ALI_MUON_GEOMETRY_ENVELOPE_H
17 
18 #include <TNamed.h>
19 
20 class TGeoTranslation;
21 class TGeoRotation;
22 class TGeoCombiTrans;
23 class TObjArray;
24 
25 class AliMUONGeometryEnvelope : public TNamed
26 {
27  public:
28  AliMUONGeometryEnvelope(const TString& name, Int_t id,
29  Bool_t isVirtual, const char* only);
30  AliMUONGeometryEnvelope(const TString& name, Int_t id,
31  Int_t copyNo, const char* only);
33  virtual ~AliMUONGeometryEnvelope();
34 
35  // methods
36  void AddConstituent(const TString& name, Int_t copyNo);
37  void AddConstituent(const TString& name, Int_t copyNo,
38  const TGeoTranslation& translation);
39  void AddConstituent(const TString& name, Int_t copyNo,
40  const TGeoTranslation& translation,
41  const TGeoRotation& rotation);
42  void AddConstituent(const TString& name, Int_t copyNo,
43  const TGeoCombiTrans& transform);
44 
45  void AddConstituentParam(const TString& name, Int_t copyNo,
46  Int_t npar, Double_t* param);
47  void AddConstituentParam(const TString& name, Int_t copyNo,
48  const TGeoTranslation& translation,
49  Int_t npar, Double_t* param);
50  void AddConstituentParam(const TString& name, Int_t copyNo,
51  const TGeoTranslation& translation,
52  const TGeoRotation& rotation,
53  Int_t npar, Double_t* param);
54  void AddConstituentParam(const TString& name, Int_t copyNo,
55  const TGeoCombiTrans& transform,
56  Int_t npar, Double_t* param);
57 
58  void SetTranslation(const TGeoTranslation& translation);
59  void SetRotation(const TGeoRotation& rotation);
60  void SetTransform(const TGeoCombiTrans& transform);
61 
62  // get methods
63  Bool_t IsVirtual() const;
64  Bool_t IsMANY() const;
65  Int_t GetCopyNo() const;
66  const TGeoCombiTrans* GetTransformation() const;
67  const TObjArray* GetConstituents() const;
68 
69  protected:
74 
75  private:
76  Bool_t fIsVirtual;
77  Bool_t fIsMANY;
79  Int_t fCopyNo;
81  TGeoCombiTrans* fTransformation;
86 
88  ClassDef(AliMUONGeometryEnvelope,1) // MUON chamber geometry base class
89 };
90 
91 // inline functions
92 
95 { return fIsVirtual; }
96 
98 inline Bool_t AliMUONGeometryEnvelope::IsMANY() const
99 { return fIsMANY; }
100 
103 { return fCopyNo; }
104 
107 inline const TGeoCombiTrans* AliMUONGeometryEnvelope::GetTransformation() const
108 { return fTransformation; }
109 
113 { return fConstituents; }
114 
115 #endif //ALI_MUON_GEOMETRY_ENVELOPE_H
const TObjArray * GetConstituents() const
void AddConstituentParam(const TString &name, Int_t copyNo, Int_t npar, Double_t *param)
#define TObjArray
Int_t GetCopyNo() const
Return copy number.
Bool_t IsMANY() const
Return true if envelope is placed with MANY option.
TGeoCombiTrans * fTransformation
more than one copy)
void SetTransform(const TGeoCombiTrans &transform)
const TGeoCombiTrans * GetTransformation() const
Int_t fCopyNo
copy number (only non virtual envelope can have
Geometry envelope helper class.
void AddConstituent(const TString &name, Int_t copyNo)
Bool_t fIsVirtual
true if envelope is not represented by a real volume
TObjArray * fConstituents
the constituents names and transformations
Bool_t IsVirtual() const
Return true if envelope is virtual.
void SetTranslation(const TGeoTranslation &translation)
AliMUONGeometryEnvelope & operator=(const AliMUONGeometryEnvelope &rhs)
Not implemented.
Bool_t fIsMANY
true if envelope is placed with MANY option
void SetRotation(const TGeoRotation &rotation)