]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSegFactoryV3.h
Removed with merging transform/svmap data files in one
[u/mrichter/AliRoot.git] / MUON / AliMUONSegFactoryV3.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 AliMUONSegFactoryV3
8/// \brief Factory for muon segmentations
9///
10/// New class separated from AliMUONFactoryV3 in order to get
11/// building of segmentations independent from AliMUON and AliMUONChamber
12/// objects
13
14#ifndef ALI_MUON_SEG_FACTORY_V3_H
15#define ALI_MUON_SEG_FACTORY_V3_H
16
17#include <TNamed.h>
18
19class AliMpExMap;
20
21class AliMUONSegmentation;
22class AliMUONGeometryTransformer;
23
24class AliMUONSegFactoryV3 : public TNamed {
25
26 public:
27 AliMUONSegFactoryV3(const char* name);
28 AliMUONSegFactoryV3();
29 virtual ~AliMUONSegFactoryV3();
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 AliMUONSegFactoryV3(const AliMUONSegFactoryV3& rhs);
40 AliMUONSegFactoryV3& operator=(const AliMUONSegFactoryV3& 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
49 void BuildStation1();
50 void BuildStation2();
51 void BuildStation3(const AliMpExMap& deNamesMap);
52 void BuildStation4(const AliMpExMap& deNamesMap);
53 void BuildStation5(const AliMpExMap& deNamesMap);
54 void BuildStation6();
55
56 // data members
57 AliMUONSegmentation* fSegmentation; // Segmentation container
58 const AliMUONGeometryTransformer* fkGeomTransformer; // Geometry parametrisation
59
60 ClassDef(AliMUONSegFactoryV3,0) // MUON Factory for Chambers and Segmentation
61};
62
63// inline functions
64
65inline AliMUONSegmentation* AliMUONSegFactoryV3::GetSegmentation() const
66{ return fSegmentation; }
67
68
69#endif //ALI_MUON_SEG_FACTORY_V3_H
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84