1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONSegFactoryV4
8 /// \brief Factory for muon segmentations
10 /// New class separated from AliMUONFactoryV4 in order to get
11 /// building of segmentations independent from AliMUON and AliMUONChamber
14 #ifndef ALI_MUON_SEG_FACTORY_V4_H
15 #define ALI_MUON_SEG_FACTORY_V4_H
21 class AliMUONSegmentation;
22 class AliMUONGeometryTransformer;
24 class AliMUONSegFactoryV4 : public TNamed {
27 AliMUONSegFactoryV4(const char* name);
28 AliMUONSegFactoryV4();
29 virtual ~AliMUONSegFactoryV4();
32 void Build(const AliMUONGeometryTransformer* geometry);
33 void BuildStation(const AliMUONGeometryTransformer*, Int_t stationNumber);
36 AliMUONSegmentation* GetSegmentation() const;
39 AliMUONSegFactoryV4(const AliMUONSegFactoryV4& rhs);
40 AliMUONSegFactoryV4& operator=(const AliMUONSegFactoryV4& rhs);
43 Bool_t IsGeometryDefined(Int_t ichamber);
44 Bool_t ReadDENames(const TString& fileName, AliMpExMap& map);
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);
53 void BuildStation3(const AliMpExMap& deNamesMap);
54 void BuildStation4(const AliMpExMap& deNamesMap);
55 void BuildStation5(const AliMpExMap& deNamesMap);
56 void BuildStation6(const AliMpExMap& deNamesMap);
59 AliMUONSegmentation* fSegmentation; // Segmentation container
60 const AliMUONGeometryTransformer* fkGeomTransformer; // Geometry parametrisation
62 ClassDef(AliMUONSegFactoryV4,0) // MUON Factory for Chambers and Segmentation
67 inline AliMUONSegmentation* AliMUONSegFactoryV4::GetSegmentation() const
68 { return fSegmentation; }
70 #endif //ALI_MUON_SEG_FACTORY_V4_H