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>
20 class AliMUONGeometryModule;
21 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;
38 const AliMUONGeometryModule* GetModule(
39 Int_t index, Bool_t warn = true) const;
41 const AliMUONGeometryModule* GetModuleByDEId(
42 Int_t detElemId, Bool_t warn = true) const;
44 AliMUONGeometryTransformer* GetTransformer() const;
48 AliMUONGeometry(const AliMUONGeometry& right);
49 AliMUONGeometry& operator = (const AliMUONGeometry& right);
53 TString ComposePath(const TString& volName, Int_t copyNo) const;
55 void FillData3(const TString& sensVolumePath, Int_t detElemId);
56 TString ReadData3(ifstream& in);
57 void WriteData3(ofstream& out) const;
60 TObjArray* fModules; // Array of geometry modules
61 AliMUONGeometryTransformer* fTransformer; // Geometry transformer
63 ClassDef(AliMUONGeometry,1) // Geometry parametrisation
66 inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
67 { return fTransformer; }
69 #endif //ALI_MUON_GEOMETRY_H