BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
__w
bdsim
bdsim
include
BDSComponentConstructor.hh
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3
University of London 2001 - 2024.
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 BDSCOMPONENTCONSTRUCTOR_H
20
#define BDSCOMPONENTCONSTRUCTOR_H
21
22
class
BDSAcceleratorComponent
;
23
class
BDSBeamlineIntegral
;
24
namespace
GMAD
25
{
26
struct
Element;
27
}
28
42
class
BDSComponentConstructor
43
{
44
public
:
45
BDSComponentConstructor
(){;}
46
virtual
~BDSComponentConstructor
(){;}
47
52
virtual
BDSAcceleratorComponent
*
Construct
(
GMAD::Element
const
* elementIn,
53
GMAD::Element
const
* prevElementIn,
54
GMAD::Element
const
* nextElementIn,
55
const
BDSBeamlineIntegral
& integral) = 0;
56
};
57
58
#endif
BDSAcceleratorComponent
Abstract class that represents a component of an accelerator.
Definition
BDSAcceleratorComponent.hh:78
BDSBeamlineIntegral
A class that holds the current integrated quantities along a beam line.
Definition
BDSBeamlineIntegral.hh:41
BDSComponentConstructor
Interface class the developer should derive to construct their element.
Definition
BDSComponentConstructor.hh:43
BDSComponentConstructor::Construct
virtual BDSAcceleratorComponent * Construct(GMAD::Element const *elementIn, GMAD::Element const *prevElementIn, GMAD::Element const *nextElementIn, const BDSBeamlineIntegral &integral)=0
GMAD
Parser namespace for GMAD language. Combination of Geant4 and MAD.
Definition
BDSBeamlineIntegral.hh:27
GMAD::Element
Element class.
Definition
element.h:45
Generated on Sat Oct 18 2025 18:31:03 for BDSIM by
1.9.8