1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONGeometryDetElement
8 /// \brief Class for storing detection element transformations
10 /// Author: Ivana Hrivnacova, IPN Orsay
12 #ifndef ALI_MUON_GEOMETRY_DET_ELEMENT_H
13 #define ALI_MUON_GEOMETRY_DET_ELEMENT_H
20 class AliMUONGeometryDetElement : public TObject
23 AliMUONGeometryDetElement(Int_t detElemId,
24 const TString& volumePath);
25 AliMUONGeometryDetElement();
26 virtual ~AliMUONGeometryDetElement();
30 Float_t xg, Float_t yg, Float_t zg,
31 Float_t& xl, Float_t& yl, Float_t& zl) const;
33 Double_t xg, Double_t yg, Double_t zg,
34 Double_t& xl, Double_t& yl, Double_t& zl) const;
37 Float_t xl, Float_t yl, Float_t zl,
38 Float_t& xg, Float_t& yg, Float_t& zg) const;
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;
46 void SetLocalTransformation(const TGeoHMatrix& transform);
47 void SetGlobalTransformation(const TGeoHMatrix& transform);
48 void SetVolumePath(const TString& volumePath);
52 TString GetVolumePath() const;
53 TString GetVolumeName() const;
54 Int_t GetVolumeCopyNo() const;
55 const TGeoHMatrix* GetLocalTransformation() const;
56 const TGeoHMatrix* GetGlobalTransformation() const;
59 AliMUONGeometryDetElement(const AliMUONGeometryDetElement& rhs);
62 AliMUONGeometryDetElement& operator = (const AliMUONGeometryDetElement& rhs);
66 void PrintTransform(const TGeoHMatrix* transform) const;
69 TString fVolumePath; // the full path of aligned volume or envelope
71 TGeoHMatrix* fLocalTransformation; // the transformation wrt module
72 TGeoHMatrix* fGlobalTransformation; // the transformation wrt world
74 ClassDef(AliMUONGeometryDetElement,2) // MUON det element transformations
79 inline void AliMUONGeometryDetElement::SetVolumePath(const TString& volumePath)
80 { fVolumePath = volumePath; }
82 inline Int_t AliMUONGeometryDetElement::GetId() const
83 { return GetUniqueID(); }
85 inline TString AliMUONGeometryDetElement::GetVolumePath() const
86 { return fVolumePath; }
88 inline const TGeoHMatrix*
89 AliMUONGeometryDetElement::GetLocalTransformation() const
90 { return fLocalTransformation; }
92 inline const TGeoHMatrix*
93 AliMUONGeometryDetElement::GetGlobalTransformation() const
94 { return fGlobalTransformation; }
96 #endif //ALI_MUON_GEOMETRY_DET_ELEMENT_H