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;
23 class AliMUONGeometry : public TObject
26 AliMUONGeometry(Bool_t isOwner);
28 virtual ~AliMUONGeometry();
31 void AddModule(AliMUONGeometryModule* module);
33 Bool_t ReadSVMap(const TString& fileName);
34 Bool_t WriteSVMap(const TString& fileName) const;
37 const AliMUONGeometryModule* GetModule(
38 Int_t index, Bool_t warn = true) const;
40 const AliMUONGeometryModule* GetModuleByDEId(
41 Int_t detElemId, Bool_t warn = true) const;
43 AliMUONGeometryTransformer* GetTransformer() const;
48 AliMUONGeometry(const AliMUONGeometry& right);
50 AliMUONGeometry& operator = (const AliMUONGeometry& right);
54 TString ComposePath(const TString& volName, Int_t copyNo) const;
56 void FillData3(const TString& sensVolumePath, Int_t detElemId);
57 TString ReadData3(ifstream& in);
58 void WriteData3(ofstream& out) const;
61 TObjArray* fModules; ///< Array of geometry modules
62 AliMUONGeometryTransformer* fTransformer; ///< Geometry transformer
64 ClassDef(AliMUONGeometry,1) // Geometry parametrisation
67 /// Return geometry transformer
68 inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
69 { return fTransformer; }
71 #endif //ALI_MUON_GEOMETRY_H