1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // Revision of includes 07/05/2004
8 /// \class AliMUONGeometryModuleTransformer
9 /// \brief Geometry transformationer for detector module
11 /// Class for definition of the detector module parameters
12 /// (the transformations of detection elements, mapping between
13 /// sensitive volumes and detection elements).
15 /// Author: Ivana Hrivnacova, IPN Orsay
17 #ifndef ALI_MUON_GEOMETRY_MODULE_TRANSFORMS_H
18 #define ALI_MUON_GEOMETRY_MODULE_TRANSFORMS_H
23 class TGeoTranslation;
29 class AliMUONGeometryDetElement;
30 class AliMUONGeometryStore;
32 class AliMUONGeometryModuleTransformer : public TObject
35 AliMUONGeometryModuleTransformer(Int_t moduleId);
36 AliMUONGeometryModuleTransformer();
37 virtual ~AliMUONGeometryModuleTransformer();
40 void Global2Local(Int_t detElemId,
41 Float_t xg, Float_t yg, Float_t zg,
42 Float_t& xl, Float_t& yl, Float_t& zl) const;
43 void Global2Local(Int_t detElemId,
44 Double_t xg, Double_t yg, Double_t zg,
45 Double_t& xl, Double_t& yl, Double_t& zl) const;
47 void Local2Global(Int_t detElemId,
48 Float_t xl, Float_t yl, Float_t zl,
49 Float_t& xg, Float_t& yg, Float_t& zg) const;
50 void Local2Global(Int_t detElemId,
51 Double_t xl, Double_t yl, Double_t zl,
52 Double_t& xg, Double_t& yg, Double_t& zg) const;
55 void SetTransformation(const TGeoCombiTrans& transform);
58 Int_t GetModuleId() const;
59 const TGeoCombiTrans* GetTransformation() const;
61 AliMUONGeometryStore* GetDetElementStore() const;
62 AliMUONGeometryDetElement* GetDetElement(
63 Int_t detElemId, Bool_t warn = true) const;
66 AliMUONGeometryModuleTransformer(const AliMUONGeometryModuleTransformer& rhs);
68 AliMUONGeometryModuleTransformer& operator = (const AliMUONGeometryModuleTransformer& rhs);
72 Int_t fModuleId; // the module Id
73 TGeoCombiTrans* fTransformation;// the module transformation wrt to top
75 AliMUONGeometryStore* fDetElements; // detection elements
77 ClassDef(AliMUONGeometryModuleTransformer,2) // MUON geometry module class
82 inline Int_t AliMUONGeometryModuleTransformer::GetModuleId() const
85 inline const TGeoCombiTrans* AliMUONGeometryModuleTransformer::GetTransformation() const
86 { return fTransformation; }
88 inline AliMUONGeometryStore* AliMUONGeometryModuleTransformer::GetDetElementStore() const
89 { return fDetElements; }
91 #endif //ALI_MUON_GEOMETRY_MODULE_PARAM_H