BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
bdsim
include
BDSBunchTwiss.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 BDSBUNCHTWISS_H
20
#define BDSBUNCHTWISS_H
21
22
#include "BDSBunchGaussian.hh"
23
24
#include "G4Transform3D.hh"
25
26
namespace
GMAD
27
{
28
class
Beam
;
29
}
30
37
class
BDSBunchTwiss
:
public
BDSBunchGaussian
38
{
39
public
:
40
BDSBunchTwiss
();
41
virtual
~BDSBunchTwiss
(){;}
42
virtual
void
SetOptions
(
const
BDSParticleDefinition
* beamParticle,
43
const
GMAD::Beam
& beam,
44
const
BDSBunchType
& distrType,
45
G4Transform3D beamlineTransformIn = G4Transform3D::Identity,
46
const
G4double
beamlineS
= 0);
47
virtual
void
CheckParameters
();
48
49
private
:
51
G4double
betaX
;
52
G4double
betaY
;
53
G4double
alphaX
;
54
G4double
alphaY
;
55
G4double
emitX
;
56
G4double
emitY
;
57
G4double
gammaX
;
58
G4double
gammaY
;
59
G4double
dispX
;
60
G4double
dispY
;
61
G4double
dispXP
;
62
G4double
dispYP
;
64
};
65
66
#endif
BDSBunchGaussian
Common functionality for a 6D Gaussian distribution.
Definition:
BDSBunchGaussian.hh:50
BDSBunchTwiss
A bunch distribution according to the twiss parameterisation.
Definition:
BDSBunchTwiss.hh:38
BDSBunchTwiss::gammaX
G4double gammaX
Twiss parameters.
Definition:
BDSBunchTwiss.hh:57
BDSBunchTwiss::betaY
G4double betaY
Twiss parameters.
Definition:
BDSBunchTwiss.hh:52
BDSBunchTwiss::CheckParameters
virtual void CheckParameters()
Definition:
BDSBunchTwiss.cc:117
BDSBunchTwiss::dispY
G4double dispY
Twiss parameters.
Definition:
BDSBunchTwiss.hh:60
BDSBunchTwiss::gammaY
G4double gammaY
Twiss parameters.
Definition:
BDSBunchTwiss.hh:58
BDSBunchTwiss::emitY
G4double emitY
Twiss parameters.
Definition:
BDSBunchTwiss.hh:56
BDSBunchTwiss::dispYP
G4double dispYP
Twiss parameters.
Definition:
BDSBunchTwiss.hh:62
BDSBunchTwiss::alphaY
G4double alphaY
Twiss parameters.
Definition:
BDSBunchTwiss.hh:54
BDSBunchTwiss::dispX
G4double dispX
Twiss parameters.
Definition:
BDSBunchTwiss.hh:59
BDSBunchTwiss::SetOptions
virtual void SetOptions(const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0)
Definition:
BDSBunchTwiss.cc:47
BDSBunchTwiss::emitX
G4double emitX
Twiss parameters.
Definition:
BDSBunchTwiss.hh:55
BDSBunchTwiss::alphaX
G4double alphaX
Twiss parameters.
Definition:
BDSBunchTwiss.hh:53
BDSBunchTwiss::dispXP
G4double dispXP
Twiss parameters.
Definition:
BDSBunchTwiss.hh:61
BDSBunchTwiss::betaX
G4double betaX
Twiss parameters.
Definition:
BDSBunchTwiss.hh:51
BDSBunch::beamlineS
G4double beamlineS
Beamline initial S position.
Definition:
BDSBunch.hh:219
BDSParticleDefinition
Wrapper for particle definition.
Definition:
BDSParticleDefinition.hh:43
BDSTypeSafeEnum
Improve type-safety of native enum data type in C++.
Definition:
BDSTypeSafeEnum.hh:47
Beam
Beam loader.
Definition:
Beam.hh:37
GMAD::Beam
Beam class.
Definition:
beam.h:44
GMAD
Parser namespace for GMAD language. Combination of Geant4 and MAD.
Definition:
BDSBeamlineIntegral.hh:27
Generated on Mon Aug 14 2023 13:49:30 for BDSIM by
1.9.6