BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSMagnetOuterFactoryNone.cc
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4This file is part of BDSIM.
5
6BDSIM is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published
8by the Free Software Foundation version 3 of the License.
9
10BDSIM is distributed in the hope that it will be useful, but
11WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17*/
18#include "BDSMagnetOuterFactoryNone.hh"
19
20#include "BDSDebug.hh"
21#include "BDSMagnetOuter.hh"
22
23#include "globals.hh" // geant4 globals / types
24#include "G4LogicalVolume.hh"
25
26#include <cmath>
27#include <utility> // for std::pair
28#include <algorithm> // for std::max
29
30BDSMagnetOuterFactoryNone::BDSMagnetOuterFactoryNone()
31{;}
32
34 G4double /*length*/,
35 const BDSBeamPipe* /*beamPipe*/,
36 G4double /*containerLength*/,
37 const BDSMagnetOuterInfo* /*recipe*/)
38{
39 return nullptr;
40}
41
43 G4double /*length*/,
44 const BDSBeamPipe* /*beamPipe*/,
45 G4double /*containerLength*/,
46 const BDSMagnetOuterInfo* /*recipe*/)
47{
48 return nullptr;
49}
50
52 G4double /*length*/,
53 BDSBeamPipe* /*beamPipe*/,
54 G4double /*containerLength*/,
55 const BDSMagnetOuterInfo* /*recipe*/)
56{
57 return nullptr;
58}
59
61 G4double /*length*/,
62 BDSBeamPipe* /*beamPipe*/,
63 G4double /*containerLength*/,
64 const BDSMagnetOuterInfo* /*recipe*/)
65{
66 return nullptr;
67}
68
70 G4double /*length*/,
71 BDSBeamPipe* /*beamPipe*/,
72 G4double /*containerLength*/,
73 const BDSMagnetOuterInfo* /*recipe*/)
74{
75 return nullptr;
76}
77
79 G4double /*length*/,
80 BDSBeamPipe* /*beamPipe*/,
81 G4double /*containerLength*/,
82 const BDSMagnetOuterInfo* /*recipe*/)
83{
84 return nullptr;
85}
86
88 G4double /*length*/,
89 BDSBeamPipe* /*beamPipe*/,
90 G4double /*containerLength*/,
91 const BDSMagnetOuterInfo* /*recipe*/)
92{
93 return nullptr;
94}
95
97 G4double /*length*/,
98 BDSBeamPipe* /*beamPipe*/,
99 G4double /*containerLength*/,
100 const BDSMagnetOuterInfo* /*recipe*/)
101{
102 return nullptr;
103}
104
106 G4double /*length*/,
107 BDSBeamPipe* /*beamPipe*/,
108 G4double /*containerLength*/,
109 const BDSMagnetOuterInfo* /*recipe*/)
110{
111 return nullptr;
112}
113
115 G4double /*length*/,
116 BDSBeamPipe* /*beamPipe*/,
117 G4double /*containerLength*/,
118 const BDSMagnetOuterInfo* /*recipe*/)
119{
120 return nullptr;
121}
122
124 G4double /*length*/,
125 const BDSBeamPipe* /*beamPipe*/,
126 G4double /*containerLength*/,
127 const BDSMagnetOuterInfo* /*recipe*/,
128 G4bool /*vertical*/)
129{
130 return nullptr;
131}
A holder class for a piece of beam pipe geometry.
virtual BDSMagnetOuter * CreateQuadrupole(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
quadrupole outer volume
virtual BDSMagnetOuter * CreateMultipole(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
general multipole outer volume - could be any 2N order multipole
virtual BDSMagnetOuter * CreateRfCavity(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
RF cavity outer volume.
virtual BDSMagnetOuter * CreateSextupole(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
sextupole outer volume
virtual BDSMagnetOuter * CreateSolenoid(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
solenoid outer volume
virtual BDSMagnetOuter * CreateKicker(G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe, G4bool vertical)
horizontal and vertical kicker outer volume
virtual BDSMagnetOuter * CreateMuonSpoiler(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
muon spoiler outer volume
virtual BDSMagnetOuter * CreateRectangularBend(G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
rectangular bend outer volume
virtual BDSMagnetOuter * CreateOctupole(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
octupole outer volume
virtual BDSMagnetOuter * CreateSectorBend(G4String name, G4double length, const BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
sector bend outer volume
virtual BDSMagnetOuter * CreateDecapole(G4String name, G4double length, BDSBeamPipe *beamPipe, G4double containerLength, const BDSMagnetOuterInfo *recipe)
decapole outer volume
Holder struct of all information required to create the outer geometry of a magnet.
An object for both the returned magnet outer body but also a tight fitting container for the whole ma...