Line data Source code
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 : /// Not implemented
49 : AliMUONGeometryConstituent(const AliMUONGeometryConstituent& rhs);
50 : /// Not implemented
51 : AliMUONGeometryConstituent& operator = (const AliMUONGeometryConstituent& rhs);
52 :
53 : private:
54 : Int_t fCopyNo; ///< copy number
55 : Int_t fNpar; ///< number of shape parameters
56 :
57 : /// shape parameters
58 : Double_t* fParam; //[fNpar] shape parameters
59 :
60 : TGeoCombiTrans* fTransformation;///< \brief the constituent transformation
61 : /// wrt to the envelope
62 :
63 106006 : ClassDef(AliMUONGeometryConstituent,1) // MUON chamber geometry base class
64 : };
65 :
66 : // inline functions
67 :
68 : /// Return copy number
69 : inline Int_t AliMUONGeometryConstituent::GetCopyNo() const
70 6624 : { return fCopyNo; }
71 :
72 : /// Return number of shape parameters
73 : inline Int_t AliMUONGeometryConstituent::GetNpar() const
74 6624 : { return fNpar; }
75 :
76 : /// Return the array of shape parameters
77 : inline Double_t* AliMUONGeometryConstituent::GetParam() const
78 6624 : { return fParam; }
79 :
80 : /// Return the constituent transformation wrt to the envelope
81 : inline const TGeoCombiTrans* AliMUONGeometryConstituent::GetTransformation() const
82 6624 : { return fTransformation; }
83 :
84 : #endif //ALI_MUON_GEOMETRY_CONSTITUENT_H
|