Correcting MUONGenerateGeometryData.C macro description
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryDetElement.h
CommitLineData
e118b27e 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
692de412 5
6/// \ingroup geometry
7/// \class AliMUONGeometryDetElement
8/// \brief Detection element
9///
10/// The class defines the detection element.
11///
12/// Author: Ivana Hrivnacova, IPN Orsay
e118b27e 13
14#ifndef ALI_MUON_GEOMETRY_DET_ELEMENT_H
15#define ALI_MUON_GEOMETRY_DET_ELEMENT_H
16
17#include <TObject.h>
18
19class TGeoCombiTrans;
20
21class AliMUONGeometryDetElement : public TObject
22{
23 public:
24 AliMUONGeometryDetElement(Int_t detElemId,
25 const TString& alignedVolume,
26 const TGeoCombiTrans& relTransform);
27 AliMUONGeometryDetElement();
28 virtual ~AliMUONGeometryDetElement();
29
30 // methods
31 void Global2Local(
32 Float_t xg, Float_t yg, Float_t zg,
33 Float_t& xl, Float_t& yl, Float_t& zl) const;
34 void Global2Local(
35 Double_t xg, Double_t yg, Double_t zg,
36 Double_t& xl, Double_t& yl, Double_t& zl) const;
37
38 void Local2Global(
39 Float_t xl, Float_t yl, Float_t zl,
40 Float_t& xg, Float_t& yg, Float_t& zg) const;
41 void Local2Global(
42 Double_t xl, Double_t yl, Double_t zl,
43 Double_t& xg, Double_t& yg, Double_t& zg) const;
44 void PrintLocalTransform() const;
45 void PrintGlobalTransform() const;
46
47 // set methods
48 void SetGlobalTransformation(const TGeoCombiTrans& transform);
49
50 // get methods
51 Int_t GetId() const;
52 const TString& GetAlignedVolume() const;
53 const TGeoCombiTrans* GetLocalTransformation() const;
54 const TGeoCombiTrans* GetGlobalTransformation() const;
55
56 protected:
57 AliMUONGeometryDetElement(const AliMUONGeometryDetElement& rhs);
58
59 // operators
60 AliMUONGeometryDetElement& operator = (const AliMUONGeometryDetElement& rhs);
61
62 private:
63 // methods
64 void PrintTransform(const TGeoCombiTrans* transform) const;
65
66 // data members
67 TString fAlignedVolume; // the name of aligned volume or envelope
68 // representing this detection element
69 TGeoCombiTrans* fLocalTransformation; // the transformation wrt module
70 TGeoCombiTrans* fGlobalTransformation; // the transformation wrt world
71
72 ClassDef(AliMUONGeometryDetElement,1) // MUON transformations store
73};
74
75// inline functions
76
77inline Int_t AliMUONGeometryDetElement::GetId() const
78{ return GetUniqueID(); }
79
80inline const TString& AliMUONGeometryDetElement::GetAlignedVolume() const
81{ return fAlignedVolume; }
82
83inline const TGeoCombiTrans*
84AliMUONGeometryDetElement::GetLocalTransformation() const
85{ return fLocalTransformation; }
86
87inline const TGeoCombiTrans*
88AliMUONGeometryDetElement::GetGlobalTransformation() const
89{ return fGlobalTransformation; }
90
91#endif //ALI_MUON_GEOMETRY_DET_ELEMENT_H