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