1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONSegFactoryV3
8 /// \brief Factory for muon segmentations
10 /// New class separated from AliMUONFactoryV3 in order to get
11 /// building of segmentations independent from AliMUON and AliMUONChamber
14 #ifndef ALI_MUON_SEG_FACTORY_V3_H
15 #define ALI_MUON_SEG_FACTORY_V3_H
21 class AliMUONSegmentation;
22 class AliMUONGeometryTransformer;
24 class AliMUONSegFactoryV3 : public TNamed {
27 AliMUONSegFactoryV3(const char* name);
28 AliMUONSegFactoryV3();
29 virtual ~AliMUONSegFactoryV3();
32 void Build(const AliMUONGeometryTransformer* geometry);
33 void BuildStation(const AliMUONGeometryTransformer*, Int_t stationNumber);
36 AliMUONSegmentation* GetSegmentation() const;
39 AliMUONSegFactoryV3(const AliMUONSegFactoryV3& rhs);
40 AliMUONSegFactoryV3& operator=(const AliMUONSegFactoryV3& 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);
51 void BuildStation3(const AliMpExMap& deNamesMap);
52 void BuildStation4(const AliMpExMap& deNamesMap);
53 void BuildStation5(const AliMpExMap& deNamesMap);
57 AliMUONSegmentation* fSegmentation; // Segmentation container
58 const AliMUONGeometryTransformer* fkGeomTransformer; // Geometry parametrisation
60 ClassDef(AliMUONSegFactoryV3,0) // MUON Factory for Chambers and Segmentation
65 inline AliMUONSegmentation* AliMUONSegFactoryV3::GetSegmentation() const
66 { return fSegmentation; }
69 #endif //ALI_MUON_SEG_FACTORY_V3_H