1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONGeometry
8 /// \brief Container class for geometry modules
10 /// \author Ivana Hrivnacova, IPN Orsay
12 #ifndef ALI_MUON_GEOMETRY_H
13 #define ALI_MUON_GEOMETRY_H
16 #include <TGeoMatrix.h>
18 class AliMUONGeometryModule;
19 class AliMUONGeometryTransformer;
26 class AliMUONGeometry : public TObject
29 AliMUONGeometry(Bool_t isOwner);
31 virtual ~AliMUONGeometry();
34 void AddModule(AliMUONGeometryModule* module);
36 Bool_t ReadSVMap(const TString& fileName);
37 Bool_t WriteSVMap(const TString& fileName) const;
40 const AliMUONGeometryModule* GetModule(
41 Int_t index, Bool_t warn = true) const;
43 const AliMUONGeometryModule* GetModuleByDEId(
44 Int_t detElemId, Bool_t warn = true) const;
46 AliMUONGeometryTransformer* GetTransformer() const;
51 AliMUONGeometry(const AliMUONGeometry& right);
53 AliMUONGeometry& operator = (const AliMUONGeometry& right);
57 TString ComposePath(const TString& volName, Int_t copyNo) const;
59 void FillData3(const TString& sensVolumePath, Int_t detElemId);
60 TString ReadData3(ifstream& in);
61 void WriteData3(ofstream& out) const;
64 TObjArray* fModules; ///< Array of geometry modules
65 AliMUONGeometryTransformer* fTransformer; ///< Geometry transformer
67 ClassDef(AliMUONGeometry,1) // Geometry parametrisation
70 /// Return geometry transformer
71 inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
72 { return fTransformer; }
74 #endif //ALI_MUON_GEOMETRY_H