ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
BeamEffects
src
LongBeamspotVertexPositioner.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef BEAMEFFECTS_LONGBEAMSPOTVERTEXPOSITIONER_H
6
#define BEAMEFFECTS_LONGBEAMSPOTVERTEXPOSITIONER_H 1
7
8
// STL includes
9
#include <string>
10
#include <utility>
11
#include <vector>
12
#include <map>
13
// FrameWork includes
14
#include "GaudiKernel/ServiceHandle.h"
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
AthenaKernel/IAthRNGSvc.h
"
17
#include "
CxxUtils/checker_macros.h
"
18
#include "
HepMC_Interfaces/ILorentzVectorGenerator.h
"
19
#include "
BeamSpotConditionsData/BeamSpotData.h
"
20
namespace
ATHRNG
{
21
class
RNGWrapper
;
22
}
23
namespace
CLHEP
{
24
class
HepRandomEngine;
25
}
26
27
namespace
Simulation
{
28
37
class
LongBeamspotVertexPositioner
:
public
extends<AthAlgTool, ILorentzVectorGenerator> {
38
39
public
:
40
42
LongBeamspotVertexPositioner
(
const
std::string& t,
const
std::string& n,
43
const
IInterface* p );
44
46
virtual
~LongBeamspotVertexPositioner
() =
default
;
47
49
StatusCode
initialize
() override final;
50
StatusCode
finalize
() override final;
51
53
CLHEP
::HepLorentzVector *
generate
(
const
EventContext& ctx)
const
override final;
54
55
private
:
56
57
inline
double
heaviside
(
double
val)
const
{
return
(val >= 0.0) ? 1.0 : 0.0;};
58
double
getZpos
(CLHEP::HepRandomEngine*)
const
;
59
double
beamspotFunction
(
double
z
)
const
;
60
Gaudi::Property<double>
m_L
{
this
,
"LParameter"
, 150.};
61
SG::ReadCondHandleKey<InDet::BeamSpotData>
m_beamSpotKey
{
this
,
"BeamSpotKey"
,
"BeamSpotData"
,
"SG key for beam spot"
};
62
ServiceHandle<IAthRNGSvc>
m_rndGenSvc
{
this
,
"RandomSvc"
,
"AthRNGSvc"
};
63
ATHRNG::RNGWrapper
* m_randomEngine
ATLAS_THREAD_SAFE
{};
64
65
Gaudi::Property<std::string>
m_randomEngineName
{
this
,
"RandomStream"
,
"VERTEX"
};
66
Gaudi::Property<bool>
m_timeSmearing
{
this
,
"SimpleTimeSmearing"
,
false
};
67
68
};
69
70
}
71
72
#endif
//> !BEAMEFFECTS_LONGBEAMSPOTVERTEXPOSITIONER_H
AthAlgTool.h
BeamSpotData.h
IAthRNGSvc.h
ILorentzVectorGenerator.h
z
#define z
checker_macros.h
Define macros for attributes used to control the static checker.
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition
RNGWrapper.h:56
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
ServiceHandle
Definition
ClusterMakerTool.h:36
Simulation::LongBeamspotVertexPositioner::m_rndGenSvc
ServiceHandle< IAthRNGSvc > m_rndGenSvc
Definition
LongBeamspotVertexPositioner.h:62
Simulation::LongBeamspotVertexPositioner::finalize
StatusCode finalize() override final
Athena algtool's Hooks.
Definition
LongBeamspotVertexPositioner.cxx:53
Simulation::LongBeamspotVertexPositioner::LongBeamspotVertexPositioner
LongBeamspotVertexPositioner(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition
LongBeamspotVertexPositioner.cxx:26
Simulation::LongBeamspotVertexPositioner::getZpos
double getZpos(CLHEP::HepRandomEngine *) const
Definition
LongBeamspotVertexPositioner.cxx:66
Simulation::LongBeamspotVertexPositioner::m_randomEngineName
Gaudi::Property< std::string > m_randomEngineName
Name of the random number stream.
Definition
LongBeamspotVertexPositioner.h:65
Simulation::LongBeamspotVertexPositioner::beamspotFunction
double beamspotFunction(double z) const
Definition
LongBeamspotVertexPositioner.cxx:59
Simulation::LongBeamspotVertexPositioner::~LongBeamspotVertexPositioner
virtual ~LongBeamspotVertexPositioner()=default
Destructor.
Simulation::LongBeamspotVertexPositioner::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition
LongBeamspotVertexPositioner.h:61
Simulation::LongBeamspotVertexPositioner::m_L
Gaudi::Property< double > m_L
Parameter in the Z distribution of the beamspot - default 150.0 mm.
Definition
LongBeamspotVertexPositioner.h:60
Simulation::LongBeamspotVertexPositioner::m_timeSmearing
Gaudi::Property< bool > m_timeSmearing
Do time smearing.
Definition
LongBeamspotVertexPositioner.h:66
Simulation::LongBeamspotVertexPositioner::ATLAS_THREAD_SAFE
ATHRNG::RNGWrapper *m_randomEngine ATLAS_THREAD_SAFE
Slot-local RNG.
Definition
LongBeamspotVertexPositioner.h:63
Simulation::LongBeamspotVertexPositioner::initialize
StatusCode initialize() override final
Athena algtool's Hooks.
Definition
LongBeamspotVertexPositioner.cxx:34
Simulation::LongBeamspotVertexPositioner::heaviside
double heaviside(double val) const
Definition
LongBeamspotVertexPositioner.h:57
const
ATHRNG
Definition
IAthRNGSvc.h:23
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
Simulation
Definition
BeamEffectsAlg.cxx:21
generate
Definition
generate.cxx:28
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0