]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONGeometry.h
update from pr task : sjena
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometry.h
CommitLineData
75678bb3 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
5
6/// \ingroup geometry
7/// \class AliMUONGeometry
8/// \brief Container class for geometry modules
9///
a9aad96e 10/// \author Ivana Hrivnacova, IPN Orsay
75678bb3 11
12#ifndef ALI_MUON_GEOMETRY_H
13#define ALI_MUON_GEOMETRY_H
14
15#include <TObject.h>
16#include <TGeoMatrix.h>
17
75678bb3 18class AliMUONGeometryModule;
19class AliMUONGeometryTransformer;
20
7ecf374b 21class TObjArray;
22
b80faac0 23using std::ifstream;
24using std::ofstream;
25
75678bb3 26class AliMUONGeometry : public TObject
27{
28 public:
29 AliMUONGeometry(Bool_t isOwner);
30 AliMUONGeometry();
31 virtual ~AliMUONGeometry();
32
33 // methods
34 void AddModule(AliMUONGeometryModule* module);
35
36 Bool_t ReadSVMap(const TString& fileName);
37 Bool_t WriteSVMap(const TString& fileName) const;
38
75678bb3 39 // get methods
40 const AliMUONGeometryModule* GetModule(
41 Int_t index, Bool_t warn = true) const;
42
43 const AliMUONGeometryModule* GetModuleByDEId(
44 Int_t detElemId, Bool_t warn = true) const;
45
46 AliMUONGeometryTransformer* GetTransformer() const;
47
48
49 protected:
71a2d3aa 50 /// Not implemented
75678bb3 51 AliMUONGeometry(const AliMUONGeometry& right);
71a2d3aa 52 /// Not implemented
75678bb3 53 AliMUONGeometry& operator = (const AliMUONGeometry& right);
54
55 private:
56 //methods
57 TString ComposePath(const TString& volName, Int_t copyNo) const;
58
59 void FillData3(const TString& sensVolumePath, Int_t detElemId);
60 TString ReadData3(ifstream& in);
61 void WriteData3(ofstream& out) const;
62
63 // data members
829425a5 64 TObjArray* fModules; ///< Array of geometry modules
65 AliMUONGeometryTransformer* fTransformer; ///< Geometry transformer
75678bb3 66
67 ClassDef(AliMUONGeometry,1) // Geometry parametrisation
68};
69
a9aad96e 70/// Return geometry transformer
75678bb3 71inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
72{ return fTransformer; }
73
74#endif //ALI_MUON_GEOMETRY_H
75
76
77
78
79
80
81