1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
6 // Class AliMUONGeometryBuilder
7 // ----------------------------
8 // Manager class for geometry construction via geometry builders.
10 // Author: Ivana Hrivnacova, IPN Orsay
12 #ifndef ALI_MUON_GEOMETRY_BUILDER_H
13 #define ALI_MUON_GEOMETRY_BUILDER_H
16 #include <TGeoMatrix.h>
21 class AliMUONVGeometryBuilder;
23 class AliMUONGeometryBuilder : public TObject
26 AliMUONGeometryBuilder(AliModule* detector);
27 AliMUONGeometryBuilder();
28 virtual ~AliMUONGeometryBuilder();
31 void AddBuilder(AliMUONVGeometryBuilder* geomBuilder);
32 void CreateGeometry();
33 void CreateMaterials();
35 void WriteTransformations();
36 void WriteSVMaps(Bool_t rebuild = true);
37 void SetGlobalTransformation(const TGeoCombiTrans& transform);
40 virtual Bool_t GetAlign() const;
41 virtual void SetAlign(Bool_t align);
44 AliMUONGeometryBuilder(const AliMUONGeometryBuilder& right);
45 AliMUONGeometryBuilder& operator = (const AliMUONGeometryBuilder& right);
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;
52 void FillGlobalTransformations(AliMUONVGeometryBuilder* builder);
55 AliModule* fModule; // the AliRoot module
56 Bool_t fAlign; // option to read transformations
58 TGeoCombiTrans fGlobalTransformation;// global transformation
59 // applied to the whole geometry
60 TObjArray* fGeometryBuilders; // list of Geometry Builders
62 ClassDef(AliMUONGeometryBuilder,4) // Geometry builder
67 inline Bool_t AliMUONGeometryBuilder::GetAlign() const
70 #endif //ALI_MUON_GEOMETRY_BUILDER_H