]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSegFactoryV4.h
Adding AliMUONGeometryMisAligner
[u/mrichter/AliRoot.git] / MUON / AliMUONSegFactoryV4.h
CommitLineData
a4dc60c5 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 sim
7/// \class AliMUONSegFactoryV4
8/// \brief Factory for muon segmentations
9///
10/// New class separated from AliMUONFactoryV4 in order to get
11/// building of segmentations independent from AliMUON and AliMUONChamber
12/// objects
13
14#ifndef ALI_MUON_SEG_FACTORY_V4_H
15#define ALI_MUON_SEG_FACTORY_V4_H
16
17#include <TNamed.h>
18
19class AliMpExMap;
20
21class AliMUONSegmentation;
22class AliMUONGeometryTransformer;
23
24class AliMUONSegFactoryV4 : public TNamed {
25
26 public:
27 AliMUONSegFactoryV4(const char* name);
28 AliMUONSegFactoryV4();
29 virtual ~AliMUONSegFactoryV4();
30
31 // Build methods
32 void Build(const AliMUONGeometryTransformer* geometry);
33 void BuildStation(const AliMUONGeometryTransformer*, Int_t stationNumber);
34
35 // Access method
36 AliMUONSegmentation* GetSegmentation() const;
37
38 protected:
39 AliMUONSegFactoryV4(const AliMUONSegFactoryV4& rhs);
40 AliMUONSegFactoryV4& operator=(const AliMUONSegFactoryV4& rhs);
41
42 private:
43 Bool_t IsGeometryDefined(Int_t ichamber);
44 Bool_t ReadDENames(const TString& fileName, AliMpExMap& map);
45
46 void BuildChamber345(Int_t firstDetElemId, Int_t lastDetElemId,
47 const AliMpExMap& deNamesMap);
48 void BuildChamberTrigger(Int_t firstDetElemId, Int_t lastDetElemId,
49 const AliMpExMap& deNamesMap);
50
51 void BuildStation1();
52 void BuildStation2();
53 void BuildStation3(const AliMpExMap& deNamesMap);
54 void BuildStation4(const AliMpExMap& deNamesMap);
55 void BuildStation5(const AliMpExMap& deNamesMap);
56 void BuildStation6(const AliMpExMap& deNamesMap);
57
58 // data members
59 AliMUONSegmentation* fSegmentation; // Segmentation container
60 const AliMUONGeometryTransformer* fkGeomTransformer; // Geometry parametrisation
61
62 ClassDef(AliMUONSegFactoryV4,0) // MUON Factory for Chambers and Segmentation
63};
64
65// inline functions
66
67inline AliMUONSegmentation* AliMUONSegFactoryV4::GetSegmentation() const
68{ return fSegmentation; }
69
70#endif //ALI_MUON_SEG_FACTORY_V4_H
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85