BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
bdsim
include
BDSTunnelType.hh
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3
University of London 2001 - 2023.
4
5
This file is part of BDSIM.
6
7
BDSIM is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published
9
by the Free Software Foundation version 3 of the License.
10
11
BDSIM is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
#ifndef BDSTUNNLTYPE_H
20
#define BDSTUNNLTYPE_H
21
22
#include "BDSTypeSafeEnum.hh"
23
#include "globals.hh"
// geant4 globals / types
24
32
struct
tunneltypes_def
33
{
34
enum
type {circular, elliptical, square, rectangular, ilc, rectaboveground};
35
};
36
37
typedef
BDSTypeSafeEnum<tunneltypes_def,int>
BDSTunnelType
;
38
39
namespace
BDS
40
{
42
BDSTunnelType
DetermineTunnelType
(G4String tunnelType);
43
44
/*
47
void CheckTunnelInfo(BDSTunnelType tunnelTypeIn,
48
G4double& tunnelOffsetX,
49
G4double& tunnelOffsetY,
50
G4bool& tunnelFloor,
51
G4double& tunnelFloorOffset,
52
G4double& tunnel1,
53
G4double& tunnel2);
54
56
void InfoOKForCircular(G4double& tunnelOffsetX, G4double& tunnelOffsetY, G4bool tunnelFloor, G4double& tunnelFloorOffset,
57
G4double& tunnel1, G4double& tunnel2);
58
60
void InfoOKForElliptical(G4double& tunnelOffsetX, G4double& tunnelOffsetY, G4bool tunnelFloor, G4double& tunnelFloorOffset,
61
G4double& tunnel1, G4double& tunnel2);
62
64
void InfoOKForRectangular(G4double& tunnelOffsetX, G4double& tunnelOffsetY, G4bool tunnelFloor, G4double& tunnelFloorOffset,
65
G4double& tunnel1, G4double& tunnel2);
66
68
void InfoOKForSquare(G4double& tunnelOffsetX, G4double& tunnelOffsetY, G4bool tunnelFloor, G4double& tunnelFloorOffset,
69
G4double& tunnel1, G4double& tunnel2);
70
*/
71
}
72
#endif
BDSTypeSafeEnum
Improve type-safety of native enum data type in C++.
Definition:
BDSTypeSafeEnum.hh:47
BDS
Return either G4Tubs or G4CutTubs depending on flat face.
Definition:
BDSBunchHaloFlatSigma.cc:40
BDS::DetermineTunnelType
BDSTunnelType DetermineTunnelType(G4String tunnelType)
Function to determine the enum type of the tunnel (case-insensitive)
Definition:
BDSTunnelType.cc:42
tunneltypes_def
Type definition for tunnels - used for comparison in factory methods.
Definition:
BDSTunnelType.hh:33
Generated on Mon Aug 14 2023 13:49:30 for BDSIM by
1.9.6