]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryConstituent.h
72c77ce2bbe097efcd9fd25a56a0751807761548
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryConstituent.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 /// \ingroup geometry
8 /// \class AliMUONGeometryConstituent
9 /// \brief Helper class for definititon of an assembly of volumes.
10 ///
11 /// Author: Ivana Hrivnacova, IPN Orsay
12
13 #ifndef ALI_MUON_GEOMETRY_CONSTITUENT_H
14 #define ALI_MUON_GEOMETRY_CONSTITUENT_H
15
16 #include <TNamed.h>
17
18 class TGeoTranslation;
19 class TGeoRotation;
20 class TGeoCombiTrans;
21 class TObjArray;
22
23 class AliMUONGeometryConstituent : public TNamed
24 {
25   public:
26     AliMUONGeometryConstituent(const TString& name, Int_t copyNo, 
27                          Int_t npar, Double_t* param); 
28     AliMUONGeometryConstituent(const TString& name, Int_t copyNo, 
29                          const TGeoTranslation& translation,
30                          Int_t npar, Double_t* param); 
31     AliMUONGeometryConstituent(const TString& name, Int_t copyNo, 
32                          const TGeoTranslation& translation, 
33                          const TGeoRotation& rotation,
34                          Int_t npar, Double_t* param);
35      AliMUONGeometryConstituent(const TString& name, Int_t copyNo, 
36                          const TGeoCombiTrans& transform,
37                          Int_t npar, Double_t* param);
38    AliMUONGeometryConstituent();
39     virtual ~AliMUONGeometryConstituent();
40
41     // get methods
42     Int_t                  GetCopyNo() const;  
43     Int_t                  GetNpar() const;
44     Double_t*              GetParam() const;
45     const TGeoCombiTrans*  GetTransformation() const;
46
47   protected:
48     AliMUONGeometryConstituent(const AliMUONGeometryConstituent& rhs);
49
50     // operators  
51     AliMUONGeometryConstituent& operator = (const AliMUONGeometryConstituent& rhs);
52
53   private:
54     Int_t            fCopyNo;        // copy number
55     Int_t            fNpar;          // number of shape parameters
56     Double_t*        fParam;         //[fNpar] shape parameters
57     TGeoCombiTrans*  fTransformation;// the constituent transformation wrt to the
58                                      // envelope
59  
60   ClassDef(AliMUONGeometryConstituent,1) // MUON chamber geometry base class
61 };
62
63 // inline functions
64
65 inline Int_t AliMUONGeometryConstituent::GetCopyNo() const
66 { return fCopyNo; }  
67
68 inline Int_t AliMUONGeometryConstituent::GetNpar() const
69 { return fNpar; }
70
71 inline Double_t* AliMUONGeometryConstituent::GetParam() const
72 { return fParam; }
73
74 inline const TGeoCombiTrans* AliMUONGeometryConstituent::GetTransformation() const 
75 { return fTransformation; }
76
77 #endif //ALI_MUON_GEOMETRY_CONSTITUENT_H