#ifndef ALI_MUON_GEOMETRY_MODULE_TRANSFORMER_H
#define ALI_MUON_GEOMETRY_MODULE_TRANSFORMER_H
#include <TObject.h>
#include <TString.h>
class AliMUONGeometryDetElement;
class AliMpExMap;
class TGeoTranslation;
class TGeoRotation;
class TGeoHMatrix;
class TObjArray;
class TArrayI;
class AliMUONGeometryModuleTransformer : public TObject
{
public:
AliMUONGeometryModuleTransformer(Int_t moduleId);
AliMUONGeometryModuleTransformer(TRootIOCtor* );
virtual ~AliMUONGeometryModuleTransformer();
static const TString& GetModuleNamePrefix();
static TString GetModuleName(Int_t moduleId);
void Global2Local(Int_t detElemId,
Float_t xg, Float_t yg, Float_t zg,
Float_t& xl, Float_t& yl, Float_t& zl) const;
void Global2Local(Int_t detElemId,
Double_t xg, Double_t yg, Double_t zg,
Double_t& xl, Double_t& yl, Double_t& zl) const;
void Local2Global(Int_t detElemId,
Float_t xl, Float_t yl, Float_t zl,
Float_t& xg, Float_t& yg, Float_t& zg) const;
void Local2Global(Int_t detElemId,
Double_t xl, Double_t yl, Double_t zl,
Double_t& xg, Double_t& yg, Double_t& zg) const;
void SetTransformation(const TGeoHMatrix& transform);
void SetVolumePath(const TString& volumePath);
Int_t GetModuleId() const;
TString GetModuleName() const;
TString GetVolumePath() const;
TString GetVolumeName() const;
TString GetMotherVolumeName() const;
const TGeoHMatrix* GetTransformation() const;
AliMpExMap* GetDetElementStore() const;
AliMUONGeometryDetElement*
GetDetElement(Int_t detElemId, Bool_t warn = true) const;
protected:
AliMUONGeometryModuleTransformer();
AliMUONGeometryModuleTransformer(const AliMUONGeometryModuleTransformer& rhs);
AliMUONGeometryModuleTransformer&
operator = (const AliMUONGeometryModuleTransformer& rhs);
private:
Int_t fModuleId;
TString fModuleName;
TString fVolumePath;
TGeoHMatrix* fTransformation;
AliMpExMap* fDetElements;
ClassDef(AliMUONGeometryModuleTransformer,3)
};
inline void
AliMUONGeometryModuleTransformer::SetVolumePath(const TString& volumePath)
{ fVolumePath = volumePath; }
inline Int_t
AliMUONGeometryModuleTransformer::GetModuleId() const
{ return fModuleId; }
inline TString
AliMUONGeometryModuleTransformer::GetModuleName() const
{ return fModuleName; }
inline TString
AliMUONGeometryModuleTransformer::GetVolumePath() const
{ return fVolumePath; }
inline const TGeoHMatrix*
AliMUONGeometryModuleTransformer::GetTransformation() const
{ return fTransformation; }
inline AliMpExMap*
AliMUONGeometryModuleTransformer::GetDetElementStore() const
{ return fDetElements; }
#endif //ALI_MUON_GEOMETRY_MODULE_TRANSFORMER_H
AliMUONGeometryModuleTransformer.h:1 AliMUONGeometryModuleTransformer.h:2 AliMUONGeometryModuleTransformer.h:3 AliMUONGeometryModuleTransformer.h:4 AliMUONGeometryModuleTransformer.h:5 AliMUONGeometryModuleTransformer.h:6 AliMUONGeometryModuleTransformer.h:7 AliMUONGeometryModuleTransformer.h:8 AliMUONGeometryModuleTransformer.h:9 AliMUONGeometryModuleTransformer.h:10 AliMUONGeometryModuleTransformer.h:11 AliMUONGeometryModuleTransformer.h:12 AliMUONGeometryModuleTransformer.h:13 AliMUONGeometryModuleTransformer.h:14 AliMUONGeometryModuleTransformer.h:15 AliMUONGeometryModuleTransformer.h:16 AliMUONGeometryModuleTransformer.h:17 AliMUONGeometryModuleTransformer.h:18 AliMUONGeometryModuleTransformer.h:19 AliMUONGeometryModuleTransformer.h:20 AliMUONGeometryModuleTransformer.h:21 AliMUONGeometryModuleTransformer.h:22 AliMUONGeometryModuleTransformer.h:23 AliMUONGeometryModuleTransformer.h:24 AliMUONGeometryModuleTransformer.h:25 AliMUONGeometryModuleTransformer.h:26 AliMUONGeometryModuleTransformer.h:27 AliMUONGeometryModuleTransformer.h:28 AliMUONGeometryModuleTransformer.h:29 AliMUONGeometryModuleTransformer.h:30 AliMUONGeometryModuleTransformer.h:31 AliMUONGeometryModuleTransformer.h:32 AliMUONGeometryModuleTransformer.h:33 AliMUONGeometryModuleTransformer.h:34 AliMUONGeometryModuleTransformer.h:35 AliMUONGeometryModuleTransformer.h:36 AliMUONGeometryModuleTransformer.h:37 AliMUONGeometryModuleTransformer.h:38 AliMUONGeometryModuleTransformer.h:39 AliMUONGeometryModuleTransformer.h:40 AliMUONGeometryModuleTransformer.h:41 AliMUONGeometryModuleTransformer.h:42 AliMUONGeometryModuleTransformer.h:43 AliMUONGeometryModuleTransformer.h:44 AliMUONGeometryModuleTransformer.h:45 AliMUONGeometryModuleTransformer.h:46 AliMUONGeometryModuleTransformer.h:47 AliMUONGeometryModuleTransformer.h:48 AliMUONGeometryModuleTransformer.h:49 AliMUONGeometryModuleTransformer.h:50 AliMUONGeometryModuleTransformer.h:51 AliMUONGeometryModuleTransformer.h:52 AliMUONGeometryModuleTransformer.h:53 AliMUONGeometryModuleTransformer.h:54 AliMUONGeometryModuleTransformer.h:55 AliMUONGeometryModuleTransformer.h:56 AliMUONGeometryModuleTransformer.h:57 AliMUONGeometryModuleTransformer.h:58 AliMUONGeometryModuleTransformer.h:59 AliMUONGeometryModuleTransformer.h:60 AliMUONGeometryModuleTransformer.h:61 AliMUONGeometryModuleTransformer.h:62 AliMUONGeometryModuleTransformer.h:63 AliMUONGeometryModuleTransformer.h:64 AliMUONGeometryModuleTransformer.h:65 AliMUONGeometryModuleTransformer.h:66 AliMUONGeometryModuleTransformer.h:67 AliMUONGeometryModuleTransformer.h:68 AliMUONGeometryModuleTransformer.h:69 AliMUONGeometryModuleTransformer.h:70 AliMUONGeometryModuleTransformer.h:71 AliMUONGeometryModuleTransformer.h:72 AliMUONGeometryModuleTransformer.h:73 AliMUONGeometryModuleTransformer.h:74 AliMUONGeometryModuleTransformer.h:75 AliMUONGeometryModuleTransformer.h:76 AliMUONGeometryModuleTransformer.h:77 AliMUONGeometryModuleTransformer.h:78 AliMUONGeometryModuleTransformer.h:79 AliMUONGeometryModuleTransformer.h:80 AliMUONGeometryModuleTransformer.h:81 AliMUONGeometryModuleTransformer.h:82 AliMUONGeometryModuleTransformer.h:83 AliMUONGeometryModuleTransformer.h:84 AliMUONGeometryModuleTransformer.h:85 AliMUONGeometryModuleTransformer.h:86 AliMUONGeometryModuleTransformer.h:87 AliMUONGeometryModuleTransformer.h:88 AliMUONGeometryModuleTransformer.h:89 AliMUONGeometryModuleTransformer.h:90 AliMUONGeometryModuleTransformer.h:91 AliMUONGeometryModuleTransformer.h:92 AliMUONGeometryModuleTransformer.h:93 AliMUONGeometryModuleTransformer.h:94 AliMUONGeometryModuleTransformer.h:95 AliMUONGeometryModuleTransformer.h:96 AliMUONGeometryModuleTransformer.h:97 AliMUONGeometryModuleTransformer.h:98 AliMUONGeometryModuleTransformer.h:99 AliMUONGeometryModuleTransformer.h:100 AliMUONGeometryModuleTransformer.h:101 AliMUONGeometryModuleTransformer.h:102 AliMUONGeometryModuleTransformer.h:103 AliMUONGeometryModuleTransformer.h:104 AliMUONGeometryModuleTransformer.h:105 AliMUONGeometryModuleTransformer.h:106 AliMUONGeometryModuleTransformer.h:107 AliMUONGeometryModuleTransformer.h:108 AliMUONGeometryModuleTransformer.h:109 AliMUONGeometryModuleTransformer.h:110 AliMUONGeometryModuleTransformer.h:111 AliMUONGeometryModuleTransformer.h:112 AliMUONGeometryModuleTransformer.h:113 AliMUONGeometryModuleTransformer.h:114 AliMUONGeometryModuleTransformer.h:115 AliMUONGeometryModuleTransformer.h:116 AliMUONGeometryModuleTransformer.h:117 AliMUONGeometryModuleTransformer.h:118 AliMUONGeometryModuleTransformer.h:119 AliMUONGeometryModuleTransformer.h:120 AliMUONGeometryModuleTransformer.h:121 AliMUONGeometryModuleTransformer.h:122 AliMUONGeometryModuleTransformer.h:123 AliMUONGeometryModuleTransformer.h:124 AliMUONGeometryModuleTransformer.h:125 AliMUONGeometryModuleTransformer.h:126 AliMUONGeometryModuleTransformer.h:127 AliMUONGeometryModuleTransformer.h:128