]>
Commit | Line | Data |
---|---|---|
d4bb94a1 | 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 | // Class AliMUONGeometryBuilder | |
7 | // ---------------------------- | |
e118b27e | 8 | // Manager class for geometry construction via geometry builders. |
d4bb94a1 | 9 | // |
10 | // Author: Ivana Hrivnacova, IPN Orsay | |
11 | ||
e118b27e | 12 | #ifndef ALI_MUON_GEOMETRY_BUILDER_H |
13 | #define ALI_MUON_GEOMETRY_BUILDER_H | |
14 | ||
d4bb94a1 | 15 | #include <TObject.h> |
e118b27e | 16 | #include <TGeoMatrix.h> |
d4bb94a1 | 17 | |
d4bb94a1 | 18 | class TObjArray; |
19 | ||
e118b27e | 20 | class AliModule; |
d4bb94a1 | 21 | class AliMUONVGeometryBuilder; |
22 | ||
23 | class AliMUONGeometryBuilder : public TObject | |
24 | { | |
25 | public: | |
e118b27e | 26 | AliMUONGeometryBuilder(AliModule* detector); |
d4bb94a1 | 27 | AliMUONGeometryBuilder(); |
d4bb94a1 | 28 | virtual ~AliMUONGeometryBuilder(); |
29 | ||
e118b27e | 30 | // methods |
31 | void AddBuilder(AliMUONVGeometryBuilder* geomBuilder); | |
d4bb94a1 | 32 | void CreateGeometry(); |
33 | void CreateMaterials(); | |
34 | void InitGeometry(); | |
76497dec | 35 | void WriteTransformations(); |
36 | void WriteSVMaps(Bool_t rebuild = true); | |
e118b27e | 37 | void SetGlobalTransformation(const TGeoCombiTrans& transform); |
76497dec | 38 | |
39 | // Alignement | |
40 | virtual Bool_t GetAlign() const; | |
41 | virtual void SetAlign(Bool_t align); | |
d4bb94a1 | 42 | |
d4bb94a1 | 43 | protected: |
44 | AliMUONGeometryBuilder(const AliMUONGeometryBuilder& right); | |
45 | AliMUONGeometryBuilder& operator = (const AliMUONGeometryBuilder& right); | |
46 | ||
47 | private: | |
48 | // method | |
49 | void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo, | |
50 | const TGeoHMatrix& matrix, Int_t npar, Double_t* param, | |
51 | const char* only) const; | |
e118b27e | 52 | void FillGlobalTransformations(AliMUONVGeometryBuilder* builder); |
d4bb94a1 | 53 | |
54 | // data members | |
e118b27e | 55 | AliModule* fModule; // the AliRoot module |
76497dec | 56 | Bool_t fAlign; // option to read transformations |
57 | // from a file | |
e118b27e | 58 | TGeoCombiTrans fGlobalTransformation;// global transformation |
d4bb94a1 | 59 | // applied to the whole geometry |
76497dec | 60 | TObjArray* fGeometryBuilders; // list of Geometry Builders |
d4bb94a1 | 61 | |
e118b27e | 62 | ClassDef(AliMUONGeometryBuilder,4) // Geometry builder |
d4bb94a1 | 63 | }; |
64 | ||
76497dec | 65 | // inline functions |
66 | ||
67 | inline Bool_t AliMUONGeometryBuilder::GetAlign() const | |
68 | { return fAlign; } | |
69 | ||
d4bb94a1 | 70 | #endif //ALI_MUON_GEOMETRY_BUILDER_H |
71 | ||
72 | ||
73 | ||
74 | ||
75 | ||
76 | ||
77 |