File indexing completed on 2025-01-18 10:06:19
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef Pythia8_BeamShape_H
0009 #define Pythia8_BeamShape_H
0010
0011 #include "Pythia8/Basics.h"
0012 #include "Pythia8/PythiaStdlib.h"
0013 #include "Pythia8/Settings.h"
0014
0015 namespace Pythia8 {
0016
0017
0018
0019
0020
0021 class BeamShape {
0022
0023 public:
0024
0025
0026 BeamShape() : deltaPxA(), deltaPyA(), deltaPzA(), deltaPxB(), deltaPyB(),
0027 deltaPzB(), vertexX(), vertexY(), vertexZ(), vertexT(),
0028 allowMomentumSpread(), allowVertexSpread(), sigmaPxA(), sigmaPyA(),
0029 sigmaPzA(), maxDevA(), sigmaPxB(), sigmaPyB(), sigmaPzB(), maxDevB(),
0030 sigmaVertexX(), sigmaVertexY(), sigmaVertexZ(), maxDevVertex(),
0031 sigmaTime(), maxDevTime(), offsetX(), offsetY(), offsetZ(), offsetT(),
0032 rndmPtr() {}
0033
0034
0035 virtual ~BeamShape() {}
0036
0037
0038 virtual void init( Settings& settings, Rndm* rndmPtrIn);
0039
0040
0041 virtual void pick();
0042
0043
0044 Vec4 deltaPA() const {return Vec4( deltaPxA, deltaPyA, deltaPzA, 0);}
0045 Vec4 deltaPB() const {return Vec4( deltaPxB, deltaPyB, deltaPzB, 0);}
0046 Vec4 vertex() const {return Vec4( vertexX, vertexY, vertexZ, vertexT);}
0047
0048 protected:
0049
0050
0051 double deltaPxA, deltaPyA, deltaPzA, deltaPxB, deltaPyB, deltaPzB,
0052 vertexX, vertexY, vertexZ, vertexT;
0053
0054
0055 bool allowMomentumSpread, allowVertexSpread;
0056 double sigmaPxA, sigmaPyA, sigmaPzA, maxDevA, sigmaPxB, sigmaPyB,
0057 sigmaPzB, maxDevB, sigmaVertexX, sigmaVertexY, sigmaVertexZ,
0058 maxDevVertex, sigmaTime, maxDevTime, offsetX, offsetY,
0059 offsetZ, offsetT;
0060
0061
0062 Rndm* rndmPtr;
0063
0064 };
0065
0066
0067
0068 }
0069
0070 #endif