]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryConstituent.h
- The part of JETAN dealing with ESD data has been separated from the one using MC...
[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     AliMUONGeometryConstituent& operator = (const AliMUONGeometryConstituent& rhs);
50
51   private:
52     Int_t            fCopyNo;        ///< copy number
53     Int_t            fNpar;          ///< number of shape parameters
54     
55     /// shape parameters
56     Double_t*        fParam;         //[fNpar] shape parameters
57
58     TGeoCombiTrans*  fTransformation;///< \brief the constituent transformation
59                                      ///  wrt to the envelope
60  
61   ClassDef(AliMUONGeometryConstituent,1) // MUON chamber geometry base class
62 };
63
64 // inline functions
65
66 /// Return copy number
67 inline Int_t AliMUONGeometryConstituent::GetCopyNo() const
68 { return fCopyNo; }  
69
70 /// Return number of shape parameters
71 inline Int_t AliMUONGeometryConstituent::GetNpar() const
72 { return fNpar; }
73
74 /// Return the array of shape parameters
75 inline Double_t* AliMUONGeometryConstituent::GetParam() const
76 { return fParam; }
77
78 /// Return the constituent transformation wrt to the envelope
79 inline const TGeoCombiTrans* AliMUONGeometryConstituent::GetTransformation() const 
80 { return fTransformation; }
81
82 #endif //ALI_MUON_GEOMETRY_CONSTITUENT_H