]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONGeometryDetElement.h
Geometry framework classes were made independent from the rest of MUON and linked...
[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$
5//
6// Class AliMUONGeometryDetElement
7// --------------------------------
8// The class defines the detection element.
9//
10// Author: Ivana Hrivnacova, IPN Orsay
11
12#ifndef ALI_MUON_GEOMETRY_DET_ELEMENT_H
13#define ALI_MUON_GEOMETRY_DET_ELEMENT_H
14
15#include <TObject.h>
16
17class TGeoCombiTrans;
18
19class AliMUONGeometryDetElement : public TObject
20{
21 public:
22 AliMUONGeometryDetElement(Int_t detElemId,
23 const TString& alignedVolume,
24 const TGeoCombiTrans& relTransform);
25 AliMUONGeometryDetElement();
26 virtual ~AliMUONGeometryDetElement();
27
28 // methods
29 void Global2Local(
30 Float_t xg, Float_t yg, Float_t zg,
31 Float_t& xl, Float_t& yl, Float_t& zl) const;
32 void Global2Local(
33 Double_t xg, Double_t yg, Double_t zg,
34 Double_t& xl, Double_t& yl, Double_t& zl) const;
35
36 void Local2Global(
37 Float_t xl, Float_t yl, Float_t zl,
38 Float_t& xg, Float_t& yg, Float_t& zg) const;
39 void Local2Global(
40 Double_t xl, Double_t yl, Double_t zl,
41 Double_t& xg, Double_t& yg, Double_t& zg) const;
42 void PrintLocalTransform() const;
43 void PrintGlobalTransform() const;
44
45 // set methods
46 void SetGlobalTransformation(const TGeoCombiTrans& transform);
47
48 // get methods
49 Int_t GetId() const;
50 const TString& GetAlignedVolume() const;
51 const TGeoCombiTrans* GetLocalTransformation() const;
52 const TGeoCombiTrans* GetGlobalTransformation() const;
53
54 protected:
55 AliMUONGeometryDetElement(const AliMUONGeometryDetElement& rhs);
56
57 // operators
58 AliMUONGeometryDetElement& operator = (const AliMUONGeometryDetElement& rhs);
59
60 private:
61 // methods
62 void PrintTransform(const TGeoCombiTrans* transform) const;
63
64 // data members
65 TString fAlignedVolume; // the name of aligned volume or envelope
66 // representing this detection element
67 TGeoCombiTrans* fLocalTransformation; // the transformation wrt module
68 TGeoCombiTrans* fGlobalTransformation; // the transformation wrt world
69
70 ClassDef(AliMUONGeometryDetElement,1) // MUON transformations store
71};
72
73// inline functions
74
75inline Int_t AliMUONGeometryDetElement::GetId() const
76{ return GetUniqueID(); }
77
78inline const TString& AliMUONGeometryDetElement::GetAlignedVolume() const
79{ return fAlignedVolume; }
80
81inline const TGeoCombiTrans*
82AliMUONGeometryDetElement::GetLocalTransformation() const
83{ return fLocalTransformation; }
84
85inline const TGeoCombiTrans*
86AliMUONGeometryDetElement::GetGlobalTransformation() const
87{ return fGlobalTransformation; }
88
89#endif //ALI_MUON_GEOMETRY_DET_ELEMENT_H