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;
47 AliMUONGeometry(const AliMUONGeometry& right);
48 AliMUONGeometry& operator = (const AliMUONGeometry& right);
52 TString ComposePath(const TString& volName, Int_t copyNo) const;
54 void FillData3(const TString& sensVolumePath, Int_t detElemId);
55 TString ReadData3(ifstream& in);
56 void WriteData3(ofstream& out) const;
59 TObjArray* fModules; ///< Array of geometry modules
60 AliMUONGeometryTransformer* fTransformer; ///< Geometry transformer
62 ClassDef(AliMUONGeometry,1) // Geometry parametrisation
65 /// Return geometry transformer
66 inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
67 { return fTransformer; }
69 #endif //ALI_MUON_GEOMETRY_H