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) BDSIM Collaboration, 2001 - 2026.
3
4
This file is part of BDSIM.
5
6
BDSIM is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published
8
by the Free Software Foundation version 3 of the License.
9
10
BDSIM is distributed in the hope that it will be useful, but
11
WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
#ifndef BDSCOMPONENTCONSTRUCTOR_H
19
#define BDSCOMPONENTCONSTRUCTOR_H
20
21
class
BDSAcceleratorComponent
;
22
class
BDSBeamlineIntegral
;
23
namespace
GMAD
24
{
25
struct
Element;
26
}
27
41
class
BDSComponentConstructor
42
{
43
public
:
44
BDSComponentConstructor
(){;}
45
virtual
~BDSComponentConstructor
(){;}
46
51
virtual
BDSAcceleratorComponent
*
Construct
(
GMAD::Element
const
* elementIn,
52
GMAD::Element
const
* prevElementIn,
53
GMAD::Element
const
* nextElementIn,
54
const
BDSBeamlineIntegral
& integral) = 0;
55
};
56
57
#endif
BDSAcceleratorComponent
Abstract class that represents a component of an accelerator.
Definition
BDSAcceleratorComponent.hh:77
BDSBeamlineIntegral
A class that holds the current integrated quantities along a beam line.
Definition
BDSBeamlineIntegral.hh:40
BDSComponentConstructor
Interface class the developer should derive to construct their element.
Definition
BDSComponentConstructor.hh:42
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:26
GMAD::Element
Element class.
Definition
element.h:47
Generated on Thu Nov 12 2026 21:36:59 for BDSIM by
1.9.8