|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef BEAMEFFECTS_CRABKISSINGVERTEXPOSITIONER_H
6 #define BEAMEFFECTS_CRABKISSINGVERTEXPOSITIONER_H 1
15 #include "GaudiKernel/ServiceHandle.h"
29 class HepRandomEngine;
64 CLHEP::HepRandomEngine*
rng)
const;
65 double beamspotFunction(
double displacement,
double angle1,
double angle2)
const;
70 Gaudi::Property<std::string>
m_randomEngineName{
this,
"RandomStream",
"VERTEX",
"Name of the random number stream"};
71 Gaudi::Property<std::string>
m_bunchShapeProp{
this,
"BunchShape",
"GAUSS",
"GAUSS or FLAT"};
75 Gaudi::Property<double>
m_bunchLength{
this,
"BunchLength", 75.,
"75.0 mm"};
76 Gaudi::Property<double>
m_betaStar{
this,
"BetaStar", 150.,
"beta* in the parallel (kissing) plane, we assume betax=betay, units: mm"};
78 Gaudi::Property<double>
m_epsilon{
this,
"Epsilon", 2.5e-3,
"Normalized emittance, unit: mm"};
79 Gaudi::Property<double>
m_alphaPar{
this,
"AlfasParallel", 0.,
"Kissing angle (Radians)"};
80 Gaudi::Property<double>
m_alphaX{
this,
"AlfaX", 295
e-6};
81 Gaudi::Property<double>
m_thetaX{
this,
"ThetaX", 295
e-6};
87 #endif //> !BEAMEFFECTS_CRABKISSINGVERTEXPOSITIONER_H
Gaudi::Property< double > m_bunchLength
Parameter in the Z distribution of the beamspot.
double beamspotFunction(double displacement, double angle1, double angle2) const
virtual ~CrabKissingVertexPositioner()=default
Destructor.
bool const RAWDATA *ch2 const
StatusCode initialize() override final
Athena algtool's Hooks.
double getDisplacement(double bunchSize, double angle1, double angle2, CLHEP::HepRandomEngine *rng) const
Gaudi::Property< double > m_alphaX
double heaviside(double val) const
ServiceHandle< IAthRNGSvc > m_rndGenSvc
Gaudi::Property< double > m_betaStar
parameters according to S.Fartoukh Phys.Rev.ST Accel.Beams 17 (2014) no.11, 111001 ------------------...
CrabKissingVertexPositioner(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< double > m_thetaX
Gaudi::Property< std::string > m_bunchShapeProp
StatusCode finalize() override final
Athena algtool's Hooks.
Gaudi::Property< double > m_epsilon
Gaudi::Property< std::string > m_randomEngineName
A wrapper class for event-slot-local random engines.
void BunchShapeHandler(Gaudi::Details::PropertyBase &)
ATHRNG::RNGWrapper *m_randomEngine ATLAS_THREAD_SAFE
Slot-local RNG.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Gaudi::Property< double > m_alphaPar
Define macros for attributes used to control the static checker.