#ifndef ALI_MUON_GEOMETRY_DET_ELEMENT_H
#define ALI_MUON_GEOMETRY_DET_ELEMENT_H
#include <TObject.h>
#include <TString.h>
class TGeoHMatrix;
class AliMUONGeometryDetElement : public TObject
{
public:
AliMUONGeometryDetElement(Int_t detElemId);
AliMUONGeometryDetElement(Int_t detElemId, const TString& volumePath);
AliMUONGeometryDetElement(TRootIOCtor* );
virtual ~AliMUONGeometryDetElement();
static const TString& GetDENamePrefix();
static TString GetDEName(Int_t detElemId);
void Global2Local(
Float_t xg, Float_t yg, Float_t zg,
Float_t& xl, Float_t& yl, Float_t& zl) const;
void Global2Local(
Double_t xg, Double_t yg, Double_t zg,
Double_t& xl, Double_t& yl, Double_t& zl) const;
void Local2Global(
Float_t xl, Float_t yl, Float_t zl,
Float_t& xg, Float_t& yg, Float_t& zg) const;
void Local2Global(
Double_t xl, Double_t yl, Double_t zl,
Double_t& xg, Double_t& yg, Double_t& zg) const;
void PrintLocalTransform() const;
void PrintGlobalTransform() const;
void SetLocalTransformation(const TGeoHMatrix& transform, Bool_t warn = true);
void SetGlobalTransformation(const TGeoHMatrix& transform, Bool_t warn = true);
void SetVolumePath(const TString& volumePath);
Int_t GetId() const;
TString GetDEName() const;
TString GetVolumePath() const;
TString GetVolumeName() const;
Int_t GetVolumeCopyNo() const;
const TGeoHMatrix* GetLocalTransformation() const;
const TGeoHMatrix* GetGlobalTransformation() const;
protected:
AliMUONGeometryDetElement();
AliMUONGeometryDetElement(const AliMUONGeometryDetElement& rhs);
AliMUONGeometryDetElement& operator = (const AliMUONGeometryDetElement& rhs);
private:
void PrintTransform(const TGeoHMatrix* transform) const;
TString fDEName;
TString fVolumePath;
TGeoHMatrix* fLocalTransformation;
TGeoHMatrix* fGlobalTransformation;
ClassDef(AliMUONGeometryDetElement,2)
};
inline void AliMUONGeometryDetElement::SetVolumePath(const TString& volumePath)
{ fVolumePath = volumePath; }
inline Int_t AliMUONGeometryDetElement::GetId() const
{ return GetUniqueID(); }
inline TString AliMUONGeometryDetElement::GetDEName() const
{ return fDEName; }
inline TString AliMUONGeometryDetElement::GetVolumePath() const
{ return fVolumePath; }
inline const TGeoHMatrix*
AliMUONGeometryDetElement::GetLocalTransformation() const
{ return fLocalTransformation; }
inline const TGeoHMatrix*
AliMUONGeometryDetElement::GetGlobalTransformation() const
{ return fGlobalTransformation; }
#endif //ALI_MUON_GEOMETRY_DET_ELEMENT_H
AliMUONGeometryDetElement.h:1 AliMUONGeometryDetElement.h:2 AliMUONGeometryDetElement.h:3 AliMUONGeometryDetElement.h:4 AliMUONGeometryDetElement.h:5 AliMUONGeometryDetElement.h:6 AliMUONGeometryDetElement.h:7 AliMUONGeometryDetElement.h:8 AliMUONGeometryDetElement.h:9 AliMUONGeometryDetElement.h:10 AliMUONGeometryDetElement.h:11 AliMUONGeometryDetElement.h:12 AliMUONGeometryDetElement.h:13 AliMUONGeometryDetElement.h:14 AliMUONGeometryDetElement.h:15 AliMUONGeometryDetElement.h:16 AliMUONGeometryDetElement.h:17 AliMUONGeometryDetElement.h:18 AliMUONGeometryDetElement.h:19 AliMUONGeometryDetElement.h:20 AliMUONGeometryDetElement.h:21 AliMUONGeometryDetElement.h:22 AliMUONGeometryDetElement.h:23 AliMUONGeometryDetElement.h:24 AliMUONGeometryDetElement.h:25 AliMUONGeometryDetElement.h:26 AliMUONGeometryDetElement.h:27 AliMUONGeometryDetElement.h:28 AliMUONGeometryDetElement.h:29 AliMUONGeometryDetElement.h:30 AliMUONGeometryDetElement.h:31 AliMUONGeometryDetElement.h:32 AliMUONGeometryDetElement.h:33 AliMUONGeometryDetElement.h:34 AliMUONGeometryDetElement.h:35 AliMUONGeometryDetElement.h:36 AliMUONGeometryDetElement.h:37 AliMUONGeometryDetElement.h:38 AliMUONGeometryDetElement.h:39 AliMUONGeometryDetElement.h:40 AliMUONGeometryDetElement.h:41 AliMUONGeometryDetElement.h:42 AliMUONGeometryDetElement.h:43 AliMUONGeometryDetElement.h:44 AliMUONGeometryDetElement.h:45 AliMUONGeometryDetElement.h:46 AliMUONGeometryDetElement.h:47 AliMUONGeometryDetElement.h:48 AliMUONGeometryDetElement.h:49 AliMUONGeometryDetElement.h:50 AliMUONGeometryDetElement.h:51 AliMUONGeometryDetElement.h:52 AliMUONGeometryDetElement.h:53 AliMUONGeometryDetElement.h:54 AliMUONGeometryDetElement.h:55 AliMUONGeometryDetElement.h:56 AliMUONGeometryDetElement.h:57 AliMUONGeometryDetElement.h:58 AliMUONGeometryDetElement.h:59 AliMUONGeometryDetElement.h:60 AliMUONGeometryDetElement.h:61 AliMUONGeometryDetElement.h:62 AliMUONGeometryDetElement.h:63 AliMUONGeometryDetElement.h:64 AliMUONGeometryDetElement.h:65 AliMUONGeometryDetElement.h:66 AliMUONGeometryDetElement.h:67 AliMUONGeometryDetElement.h:68 AliMUONGeometryDetElement.h:69 AliMUONGeometryDetElement.h:70 AliMUONGeometryDetElement.h:71 AliMUONGeometryDetElement.h:72 AliMUONGeometryDetElement.h:73 AliMUONGeometryDetElement.h:74 AliMUONGeometryDetElement.h:75 AliMUONGeometryDetElement.h:76 AliMUONGeometryDetElement.h:77 AliMUONGeometryDetElement.h:78 AliMUONGeometryDetElement.h:79 AliMUONGeometryDetElement.h:80 AliMUONGeometryDetElement.h:81 AliMUONGeometryDetElement.h:82 AliMUONGeometryDetElement.h:83 AliMUONGeometryDetElement.h:84 AliMUONGeometryDetElement.h:85 AliMUONGeometryDetElement.h:86 AliMUONGeometryDetElement.h:87 AliMUONGeometryDetElement.h:88 AliMUONGeometryDetElement.h:89 AliMUONGeometryDetElement.h:90 AliMUONGeometryDetElement.h:91 AliMUONGeometryDetElement.h:92 AliMUONGeometryDetElement.h:93 AliMUONGeometryDetElement.h:94 AliMUONGeometryDetElement.h:95 AliMUONGeometryDetElement.h:96 AliMUONGeometryDetElement.h:97 AliMUONGeometryDetElement.h:98 AliMUONGeometryDetElement.h:99 AliMUONGeometryDetElement.h:100 AliMUONGeometryDetElement.h:101 AliMUONGeometryDetElement.h:102 AliMUONGeometryDetElement.h:103 AliMUONGeometryDetElement.h:104 AliMUONGeometryDetElement.h:105 AliMUONGeometryDetElement.h:106 AliMUONGeometryDetElement.h:107 AliMUONGeometryDetElement.h:108 AliMUONGeometryDetElement.h:109 AliMUONGeometryDetElement.h:110 AliMUONGeometryDetElement.h:111 AliMUONGeometryDetElement.h:112 AliMUONGeometryDetElement.h:113