BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
BDSBunchTwiss.hh
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3University of London 2001 - 2022.
4
5This file is part of BDSIM.
6
7BDSIM is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published
9by the Free Software Foundation version 3 of the License.
10
11BDSIM is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along 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
26namespace GMAD
27{
28 class Beam;
29}
30
38{
39public:
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
49private:
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
Common functionality for a 6D Gaussian distribution.
A bunch distribution according to the twiss parameterisation.
G4double gammaX
Twiss parameters.
G4double betaY
Twiss parameters.
virtual void CheckParameters()
G4double dispY
Twiss parameters.
G4double gammaY
Twiss parameters.
G4double emitY
Twiss parameters.
G4double dispYP
Twiss parameters.
G4double alphaY
Twiss parameters.
G4double dispX
Twiss parameters.
virtual void SetOptions(const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0)
G4double emitX
Twiss parameters.
G4double alphaX
Twiss parameters.
G4double dispXP
Twiss parameters.
G4double betaX
Twiss parameters.
G4double beamlineS
Beamline initial S position.
Definition: BDSBunch.hh:201
Wrapper for particle definition.
Improve type-safety of native enum data type in C++.
Beam loader.
Definition: Beam.hh:37
Beam class.
Definition: beam.h:44
Parser namespace for GMAD language. Combination of Geant4 and MAD.