]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryEnvelope.h
Removing obsolete class (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryEnvelope.h
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 //
7 // Class AliMUONGeometryEnvelope
8 // -----------------------------
9 // Helper class for definititon an assembly of volumes.
10 //
11 // Author: Ivana Hrivnacova, IPN Orsay
12
13 #ifndef ALI_MUON_GEOMETRY_ENVELOPE_H
14 #define ALI_MUON_GEOMETRY_ENVELOPE_H
15
16 #include <TNamed.h>
17
18 class TGeoTranslation;
19 class TGeoRotation;
20 class TGeoCombiTrans;
21 class TObjArray;
22
23 class AliMUONGeometryEnvelope : public TNamed
24 {
25   public:
26     AliMUONGeometryEnvelope(const TString& name, Int_t id,  
27                             Bool_t isVirtual, const char* only); 
28     AliMUONGeometryEnvelope(const TString& name,  Int_t id,
29                             Int_t copyNo, const char* only); 
30     AliMUONGeometryEnvelope();
31     virtual ~AliMUONGeometryEnvelope();
32   
33     // methods
34     void  AddConstituent(const TString& name, Int_t copyNo); 
35     void  AddConstituent(const TString& name, Int_t copyNo, 
36                          const TGeoTranslation& translation); 
37     void  AddConstituent(const TString& name, Int_t copyNo,
38                          const TGeoTranslation& translation, 
39                          const TGeoRotation& rotation);
40     void  AddConstituent(const TString& name, Int_t copyNo,
41                          const TGeoCombiTrans& transform); 
42
43     void  AddConstituentParam(const TString& name, Int_t copyNo, 
44                          Int_t npar, Double_t* param);
45     void  AddConstituentParam(const TString& name, Int_t copyNo, 
46                          const TGeoTranslation& translation,
47                          Int_t npar, Double_t* param);
48     void  AddConstituentParam(const TString& name, Int_t copyNo, 
49                          const TGeoTranslation& translation, 
50                          const TGeoRotation& rotation,
51                          Int_t npar, Double_t* param);
52     void  AddConstituentParam(const TString& name, Int_t copyNo, 
53                          const TGeoCombiTrans& transform,
54                          Int_t npar, Double_t* param);
55
56     void  SetTranslation(const TGeoTranslation& translation);
57     void  SetRotation(const TGeoRotation& rotation);
58     void  SetTransform(const TGeoCombiTrans& transform);
59
60     // get methods
61     Bool_t                 IsVirtual() const;  
62     Bool_t                 IsMANY() const;  
63     Int_t                  GetCopyNo() const;  
64     const TGeoCombiTrans*  GetTransformation() const;
65     const TObjArray*       GetConstituents() const;
66
67   protected:
68     AliMUONGeometryEnvelope(const AliMUONGeometryEnvelope& rhs);
69
70     // operators  
71     AliMUONGeometryEnvelope& operator = (const AliMUONGeometryEnvelope& rhs);
72
73   private:
74     Bool_t           fIsVirtual;     // true if envelope is not represented
75                                      // by a real volume
76     Bool_t           fIsMANY;        // true if envelope is placed with
77                                      // MANY option
78     Int_t            fCopyNo;        // copy number 
79                                      // (only non virtual envelope can have 
80                                      //  more than one copy)
81     TGeoCombiTrans*  fTransformation;// the envelope transformation wrt to the
82                                      // mother frame (the chamber position)
83     TObjArray*       fConstituents;  // the constituents names and transformations
84                                      // wrt to the envelope position                                 
85  
86   ClassDef(AliMUONGeometryEnvelope,1) // MUON chamber geometry base class
87 };
88
89 // inline functions
90
91 inline Bool_t AliMUONGeometryEnvelope::IsVirtual() const
92 { return fIsVirtual; }  
93
94 inline Bool_t AliMUONGeometryEnvelope::IsMANY() const
95 { return fIsMANY; }  
96
97 inline Int_t AliMUONGeometryEnvelope::GetCopyNo() const
98 { return fCopyNo; }  
99
100 inline const TGeoCombiTrans* AliMUONGeometryEnvelope::GetTransformation() const 
101 { return fTransformation; }
102
103 inline const TObjArray* AliMUONGeometryEnvelope::GetConstituents() const
104 { return fConstituents; }
105
106 #endif //ALI_MUON_GEOMETRY_ENVELOPE_H