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