ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
BeamEffects
src
LRAVertexPositioner.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
3
*/
4
5
#ifndef BEAMEFFECTS_LRAVERTEXPOSITIONER_H
6
#define BEAMEFFECTS_LRAVERTEXPOSITIONER_H 1
7
8
#include <tuple>
9
#include <vector>
10
11
#include <TFile.h>
12
#include <TH3.h>
13
14
#include "
AthenaBaseComps/AthAlgTool.h
"
15
#include "
HepMC_Interfaces/ILorentzVectorGenerator.h
"
16
17
#include "
AthenaKernel/IAthRNGSvc.h
"
18
19
namespace
Simulation
20
{
26
class
LRAVertexPositioner
:
public
extends<AthAlgTool, ILorentzVectorGenerator>
27
{
28
public
:
30
LRAVertexPositioner
(
const
std::string &t,
const
std::string &n,
const
IInterface *p);
31
33
virtual
~LRAVertexPositioner
() =
default
;
34
35
//---
36
38
virtual
StatusCode
initialize
() override final;
39
41
virtual StatusCode
finalize
() override final;
42
44
virtual
CLHEP
::HepLorentzVector *
generate
(
const
EventContext &ctx)
const
override final;
45
46
47
private
:
48
Gaudi
::
Property
<
std
::
string
>
m_FileName
{
this
,
"FileName"
,
"<<Unset>>"
,
"LRA input file name."
};
49
Gaudi::Property<std::string>
m_HistName
{
this
,
"HistName"
,
"<<Unset>>"
,
"LRA input histogram name."
};
50
51
std::unique_ptr<TFile>
m_LRAFile
;
52
const
TH3F *
m_LRAHist
=
nullptr
;
53
54
//---
55
56
ServiceHandle<IAthRNGSvc>
m_RNGService
{
this
,
"RNGService"
,
"AthRNGSvc"
};
57
Gaudi::Property<std::string>
m_RNGStream
{
this
,
"RNGStream"
,
"LRAVertexPositioner"
,
"Stream name for the RNG service."
};
58
ATHRNG::RNGWrapper
*m_RNGEngine
ATLAS_THREAD_SAFE
{};
59
60
//---
61
62
using
IntegralTuple
= std::tuple<Int_t, Int_t, Int_t, Double_t>;
63
std::vector<IntegralTuple>
m_Integral
;
64
65
const
TAxis *
m_xAxis
=
nullptr
;
66
const
TAxis *
m_yAxis
=
nullptr
;
67
const
TAxis *
m_zAxis
=
nullptr
;
68
};
69
};
70
71
#endif
//> !BEAMEFFECTS_LRAVERTEXPOSITIONER_H
AthAlgTool.h
IAthRNGSvc.h
ILorentzVectorGenerator.h
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition
RNGWrapper.h:56
Property
Support class for PropertyMgr.
Definition
Property.h:23
ServiceHandle
Definition
ClusterMakerTool.h:36
Simulation::LRAVertexPositioner::m_RNGStream
Gaudi::Property< std::string > m_RNGStream
Stream name for the RNG service.
Definition
LRAVertexPositioner.h:57
Simulation::LRAVertexPositioner::initialize
virtual StatusCode initialize() override final
AthAlgTool initialization.
Definition
LRAVertexPositioner.cxx:26
Simulation::LRAVertexPositioner::m_RNGService
ServiceHandle< IAthRNGSvc > m_RNGService
Handle to the Athena RNG service.
Definition
LRAVertexPositioner.h:56
Simulation::LRAVertexPositioner::~LRAVertexPositioner
virtual ~LRAVertexPositioner()=default
Destructor.
Simulation::LRAVertexPositioner::m_zAxis
const TAxis * m_zAxis
Non-owning TAxis * to the histograms z-Axis.
Definition
LRAVertexPositioner.h:67
Simulation::LRAVertexPositioner::m_FileName
Gaudi::Property< std::string > m_FileName
LRA input file name.
Definition
LRAVertexPositioner.h:48
Simulation::LRAVertexPositioner::IntegralTuple
std::tuple< Int_t, Int_t, Int_t, Double_t > IntegralTuple
Tuple for [xBin, yBin, zBin, Integral].
Definition
LRAVertexPositioner.h:62
Simulation::LRAVertexPositioner::m_LRAHist
const TH3F * m_LRAHist
Non-owning TH3F * to the LRA histogram.
Definition
LRAVertexPositioner.h:52
Simulation::LRAVertexPositioner::finalize
virtual StatusCode finalize() override final
AthAlgTool finalization.
Definition
LRAVertexPositioner.cxx:121
Simulation::LRAVertexPositioner::ATLAS_THREAD_SAFE
ATHRNG::RNGWrapper *m_RNGEngine ATLAS_THREAD_SAFE
Non-owning RNGWrapper * to the RNG engine.
Definition
LRAVertexPositioner.h:58
Simulation::LRAVertexPositioner::m_HistName
Gaudi::Property< std::string > m_HistName
LRA input histogram name.
Definition
LRAVertexPositioner.h:49
Simulation::LRAVertexPositioner::m_yAxis
const TAxis * m_yAxis
Non-owning TAxis * to the histograms y-Axis.
Definition
LRAVertexPositioner.h:66
Simulation::LRAVertexPositioner::m_Integral
std::vector< IntegralTuple > m_Integral
Vector to hold the running integral over bins.
Definition
LRAVertexPositioner.h:63
Simulation::LRAVertexPositioner::m_LRAFile
std::unique_ptr< TFile > m_LRAFile
Owning TFile * to the LRA file.
Definition
LRAVertexPositioner.h:51
Simulation::LRAVertexPositioner::LRAVertexPositioner
LRAVertexPositioner(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition
LRAVertexPositioner.cxx:19
Simulation::LRAVertexPositioner::m_xAxis
const TAxis * m_xAxis
Non-owning TAxis * to the histograms x-Axis.
Definition
LRAVertexPositioner.h:65
const
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
Gaudi
=============================================================================
Definition
CaloGPUClusterAndCellDataMonitorOptions.h:273
Simulation
Definition
BeamEffectsAlg.cxx:21
generate
Definition
generate.cxx:28
std
STL namespace.
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0