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) Royal Holloway,
3University of London 2001 - 2023.
4
5This file is part of BDSIM.
6
7BDSIM is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published
9by the Free Software Foundation version 3 of the License.
10
11BDSIM is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18*/
19#include "BDSMagnetOuterFactoryNone.hh"
20
21#include "BDSDebug.hh"
22#include "BDSMagnetOuter.hh"
23
24#include "globals.hh" // geant4 globals / types
25#include "G4LogicalVolume.hh"
26
27#include <cmath>
28#include <utility> // for std::pair
29#include <algorithm> // for std::max
30
31BDSMagnetOuterFactoryNone::BDSMagnetOuterFactoryNone()
32{;}
33
35 G4double /*length*/,
36 const BDSBeamPipe* /*beamPipe*/,
37 G4double /*containerLength*/,
38 const BDSMagnetOuterInfo* /*recipe*/)
39{
40 return nullptr;
41}
42
44 G4double /*length*/,
45 const BDSBeamPipe* /*beamPipe*/,
46 G4double /*containerLength*/,
47 const BDSMagnetOuterInfo* /*recipe*/)
48{
49 return nullptr;
50}
51
53 G4double /*length*/,
54 BDSBeamPipe* /*beamPipe*/,
55 G4double /*containerLength*/,
56 const BDSMagnetOuterInfo* /*recipe*/)
57{
58 return nullptr;
59}
60
62 G4double /*length*/,
63 BDSBeamPipe* /*beamPipe*/,
64 G4double /*containerLength*/,
65 const BDSMagnetOuterInfo* /*recipe*/)
66{
67 return nullptr;
68}
69
71 G4double /*length*/,
72 BDSBeamPipe* /*beamPipe*/,
73 G4double /*containerLength*/,
74 const BDSMagnetOuterInfo* /*recipe*/)
75{
76 return nullptr;
77}
78
80 G4double /*length*/,
81 BDSBeamPipe* /*beamPipe*/,
82 G4double /*containerLength*/,
83 const BDSMagnetOuterInfo* /*recipe*/)
84{
85 return nullptr;
86}
87
89 G4double /*length*/,
90 BDSBeamPipe* /*beamPipe*/,
91 G4double /*containerLength*/,
92 const BDSMagnetOuterInfo* /*recipe*/)
93{
94 return nullptr;
95}
96
98 G4double /*length*/,
99 BDSBeamPipe* /*beamPipe*/,
100 G4double /*containerLength*/,
101 const BDSMagnetOuterInfo* /*recipe*/)
102{
103 return nullptr;
104}
105
107 G4double /*length*/,
108 BDSBeamPipe* /*beamPipe*/,
109 G4double /*containerLength*/,
110 const BDSMagnetOuterInfo* /*recipe*/)
111{
112 return nullptr;
113}
114
116 G4double /*length*/,
117 BDSBeamPipe* /*beamPipe*/,
118 G4double /*containerLength*/,
119 const BDSMagnetOuterInfo* /*recipe*/)
120{
121 return nullptr;
122}
123
125 G4double /*length*/,
126 const BDSBeamPipe* /*beamPipe*/,
127 G4double /*containerLength*/,
128 const BDSMagnetOuterInfo* /*recipe*/,
129 G4bool /*vertical*/)
130{
131 return nullptr;
132}
A holder class for a piece of beam pipe geometry.
Definition: BDSBeamPipe.hh:45
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...