Line data Source code
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 : ///
10 : /// \author Ivana Hrivnacova, IPN Orsay
11 :
12 : #ifndef ALI_MUON_GEOMETRY_H
13 : #define ALI_MUON_GEOMETRY_H
14 :
15 : #include <TObject.h>
16 : #include <TGeoMatrix.h>
17 :
18 : class AliMUONGeometryModule;
19 : class AliMUONGeometryTransformer;
20 :
21 : class TObjArray;
22 :
23 : using std::ifstream;
24 : using std::ofstream;
25 :
26 : class 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 :
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:
50 : /// Not implemented
51 : AliMUONGeometry(const AliMUONGeometry& right);
52 : /// Not implemented
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
64 : TObjArray* fModules; ///< Array of geometry modules
65 : AliMUONGeometryTransformer* fTransformer; ///< Geometry transformer
66 :
67 54 : ClassDef(AliMUONGeometry,1) // Geometry parametrisation
68 : };
69 :
70 : /// Return geometry transformer
71 : inline AliMUONGeometryTransformer* AliMUONGeometry::GetTransformer() const
72 574 : { return fTransformer; }
73 :
74 : #endif //ALI_MUON_GEOMETRY_H
75 :
76 :
77 :
78 :
79 :
80 :
81 :
|