]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONGeometryBuilder.h
Adding MUON HLT code to the repository.
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryBuilder.h
CommitLineData
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 18class TObjArray;
19
e118b27e 20class AliModule;
d4bb94a1 21class AliMUONVGeometryBuilder;
22
23class 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
67inline Bool_t AliMUONGeometryBuilder::GetAlign() const
68{ return fAlign; }
69
d4bb94a1 70#endif //ALI_MUON_GEOMETRY_BUILDER_H
71
72
73
74
75
76
77