SHiP Geometry
SHiP experiment geometry implementation using GeoModel.
Loading...
Searching...
No Matches
MuonShieldFactory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) CERN for the benefit of the SHiP Collaboration
3
4#pragma once
5
6class GeoPhysVol;
7
8namespace SHiPGeometry {
9
10class SHiPMaterials;
11
22 public:
23 explicit MuonShieldFactory(SHiPMaterials& materials);
24 ~MuonShieldFactory() = default;
25
26 [[nodiscard]] GeoPhysVol* build();
27
28 private:
29 SHiPMaterials& m_materials;
30
31 struct PieceData {
32 double halfX, halfY, halfZ; // bounding-box half-sizes (mm)
33 double centX, centY; // centre offset in station XY frame (mm)
34 const char* name; // piece name suffix
35 };
36
37 struct StationData {
38 const char* name; // station name
39 double stationZ; // z in MuonShieldArea frame (mm)
40 double containerHalfX;
41 double containerHalfY;
42 double containerHalfZ;
43 PieceData pieces[8];
44 };
45
46 // GDML-derived station data for all 6 stations × 8 pieces
47 static const StationData k_stations[6];
48
49 GeoPhysVol* buildStation(const StationData& station);
50
51 // MuonShieldArea container dimensions (mm)
52 static constexpr double s_areaHalfX = 1810.0;
53 static constexpr double s_areaHalfY = 1700.0;
54 static constexpr double s_areaHalfZ = 14724.0;
55};
56
57} // namespace SHiPGeometry
Factory for the MuonShield (muon shield magnets) geometry.
Definition MuonShieldFactory.h:21
GeoPhysVol * build()
Definition MuonShieldFactory.cpp:162
Central material manager for the SHiP detector.
Definition SHiPMaterials.h:20
Definition SHiPGeometry.h:8