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