5#ifndef BEAMEFFECTS_LONGBEAMSPOTVERTEXPOSITIONER_H
6#define BEAMEFFECTS_LONGBEAMSPOTVERTEXPOSITIONER_H 1
14#include "GaudiKernel/ServiceHandle.h"
24 class HepRandomEngine;
43 const IInterface* p );
50 StatusCode
finalize() override final;
57 inline
double heaviside(
double val)
const {
return (val >= 0.0) ? 1.0 : 0.0;};
58 double getZpos(CLHEP::HepRandomEngine*)
const;
60 Gaudi::Property<double>
m_L{
this,
"LParameter", 150.};
Define macros for attributes used to control the static checker.
A wrapper class for event-slot-local random engines.
ServiceHandle< IAthRNGSvc > m_rndGenSvc
StatusCode finalize() override final
Athena algtool's Hooks.
LongBeamspotVertexPositioner(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
double getZpos(CLHEP::HepRandomEngine *) const
Gaudi::Property< std::string > m_randomEngineName
Name of the random number stream.
double beamspotFunction(double z) const
virtual ~LongBeamspotVertexPositioner()=default
Destructor.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Gaudi::Property< double > m_L
Parameter in the Z distribution of the beamspot - default 150.0 mm.
Gaudi::Property< bool > m_timeSmearing
Do time smearing.
ATHRNG::RNGWrapper *m_randomEngine ATLAS_THREAD_SAFE
Slot-local RNG.
StatusCode initialize() override final
Athena algtool's Hooks.
double heaviside(double val) const