ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_BeamTransport
src
ALFA_BeamTransport.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// BeamTransport.h, (c) ATLAS Detector software
8
9
#ifndef ALFA_BEAMTRACKBEAMTRANSPORT_H
10
#define ALFA_BEAMTRACKBEAMTRANSPORT_H
11
12
// Gaudi includes
13
#include "
AthenaBaseComps/AthAlgorithm.h
"
14
#include "GaudiKernel/Algorithm.h"
15
#include "
StoreGate/ReadHandleKey.h
"
16
#include "
xAODEventInfo/EventInfo.h
"
17
18
#include "
GeneratorObjects/McEventCollection.h
"
19
#include "
AtlasHepMC/GenEvent.h
"
20
21
// FPTracker
22
#include "
FPTracker/Particle.h
"
23
#include "
FPTracker/Point.h
"
24
25
#include "
ALFA_BeamTrack.h
"
26
27
#include <string>
28
29
30
class
AtlasDetectorID
;
31
class
Identifier
;
32
class
StoreGateSvc
;
33
44
45
class
ALFA_BeamTransport
:
public
::AthAlgorithm
46
{
47
public
:
49
ALFA_BeamTransport
(
const
std::string& name, ISvcLocator* pSvcLocator);
51
~ALFA_BeamTransport
();
52
54
StatusCode
initialize
();
56
StatusCode
execute
(
const
EventContext& ctx);
58
StatusCode
finalize
();
59
62
int
SelectParticles
(
HepMC::GenEvent
* evt);
64
int
DoBeamTracking
(
int
evt_number);
67
int
TransportSelectedParticle
(
HepMC::GenEvent
& evt,
int
evt_number);
68
69
private
:
70
// some storegate variables
71
72
SG::ReadHandleKey<McEventCollection>
m_MCKey
{
73
this
,
74
"McEventCollectionName"
,
75
"GEN_EVENT"
,
76
"MC Event Collection name"
77
};
78
79
SG::ReadHandleKey<xAOD::EventInfo>
m_eventInfoKey
{
this
,
80
"EvtInfo"
,
81
"EventInfo"
,
82
"EventInfo name"
};
83
84
// Set FPConfiguration variables
85
86
FPConfig
m_FPConfig
;
87
88
// added
89
FPTracker::Particle
m_Particle1
;
90
FPTracker::Particle
m_Particle2
;
91
ALFA_BeamTrack
m_BeamTracker
;
92
// Position at RP
93
FPTracker::Point
m_PosRP1
;
94
FPTracker::Point
m_PosRP3
;
95
// Momentum at RP
96
FPTracker::Point
m_MomRP1
;
97
FPTracker::Point
m_MomRP3
;
98
99
double
m_EnergyRP1
= 0.0;
100
double
m_EnergyRP3
= 0.0;
101
102
std::string
m_FPOutputBeam1
;
103
std::string
m_FPOutputBeam2
;
104
105
// The two counters have to be set zero at the beginning at each execute run
106
// since for every new call of the execute() funktion they have to be zero
107
// counter for particles marked as outgoing in event record
108
int
m_pcount
= 0;
109
// counter for particles marked as incomming in event record
110
int
m_pint
= 0;
111
112
double
m_EtaCut
;
113
double
m_XiCut
;
114
115
// debug stuff
116
std::ofstream
m_FileBeam1
;
117
std::ofstream
m_FileBeam2
;
118
119
bool
m_WriteDebugOutput
;
120
};
121
122
#endif
ALFA_BeamTrack.h
AthAlgorithm.h
Point.h
Particle.h
GenEvent.h
McEventCollection.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ALFA_BeamTrack
Definition
ALFA_BeamTrack.h:29
ALFA_BeamTransport::m_XiCut
double m_XiCut
Definition
ALFA_BeamTransport.h:113
ALFA_BeamTransport::m_EnergyRP3
double m_EnergyRP3
Definition
ALFA_BeamTransport.h:100
ALFA_BeamTransport::m_pint
int m_pint
Definition
ALFA_BeamTransport.h:110
ALFA_BeamTransport::TransportSelectedParticle
int TransportSelectedParticle(HepMC::GenEvent &evt, int evt_number)
This function is event selection, tracking and HepMC save ine one function.
Definition
ALFA_BeamTransport.cxx:218
ALFA_BeamTransport::m_PosRP3
FPTracker::Point m_PosRP3
Definition
ALFA_BeamTransport.h:94
ALFA_BeamTransport::m_BeamTracker
ALFA_BeamTrack m_BeamTracker
Definition
ALFA_BeamTransport.h:91
ALFA_BeamTransport::execute
StatusCode execute(const EventContext &ctx)
standard Athena-Algorithm method
Definition
ALFA_BeamTransport.cxx:108
ALFA_BeamTransport::m_FPOutputBeam2
std::string m_FPOutputBeam2
Definition
ALFA_BeamTransport.h:103
ALFA_BeamTransport::m_Particle1
FPTracker::Particle m_Particle1
Definition
ALFA_BeamTransport.h:89
ALFA_BeamTransport::m_EnergyRP1
double m_EnergyRP1
Definition
ALFA_BeamTransport.h:99
ALFA_BeamTransport::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition
ALFA_BeamTransport.cxx:95
ALFA_BeamTransport::m_FileBeam1
std::ofstream m_FileBeam1
Definition
ALFA_BeamTransport.h:116
ALFA_BeamTransport::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition
ALFA_BeamTransport.cxx:63
ALFA_BeamTransport::m_FileBeam2
std::ofstream m_FileBeam2
Definition
ALFA_BeamTransport.h:117
ALFA_BeamTransport::m_PosRP1
FPTracker::Point m_PosRP1
Definition
ALFA_BeamTransport.h:93
ALFA_BeamTransport::ALFA_BeamTransport
ALFA_BeamTransport(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition
ALFA_BeamTransport.cxx:35
ALFA_BeamTransport::m_MCKey
SG::ReadHandleKey< McEventCollection > m_MCKey
Definition
ALFA_BeamTransport.h:72
ALFA_BeamTransport::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition
ALFA_BeamTransport.h:79
ALFA_BeamTransport::DoBeamTracking
int DoBeamTracking(int evt_number)
Function which calls BeamTrack class to calcualte Position at RPs.
Definition
ALFA_BeamTransport.cxx:174
ALFA_BeamTransport::m_pcount
int m_pcount
Definition
ALFA_BeamTransport.h:108
ALFA_BeamTransport::m_Particle2
FPTracker::Particle m_Particle2
Definition
ALFA_BeamTransport.h:90
ALFA_BeamTransport::m_FPOutputBeam1
std::string m_FPOutputBeam1
Definition
ALFA_BeamTransport.h:102
ALFA_BeamTransport::m_EtaCut
double m_EtaCut
Definition
ALFA_BeamTransport.h:112
ALFA_BeamTransport::m_FPConfig
FPConfig m_FPConfig
Definition
ALFA_BeamTransport.h:86
ALFA_BeamTransport::m_WriteDebugOutput
bool m_WriteDebugOutput
Definition
ALFA_BeamTransport.h:119
ALFA_BeamTransport::m_MomRP3
FPTracker::Point m_MomRP3
Definition
ALFA_BeamTransport.h:97
ALFA_BeamTransport::SelectParticles
int SelectParticles(HepMC::GenEvent *evt)
Selects particles for beam transported Sets event status code of outgoing particles from generator to...
ALFA_BeamTransport::~ALFA_BeamTransport
~ALFA_BeamTransport()
Default Destructor.
Definition
ALFA_BeamTransport.cxx:60
ALFA_BeamTransport::m_MomRP1
FPTracker::Point m_MomRP1
Definition
ALFA_BeamTransport.h:96
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition
AtlasDetectorID.h:53
FPTracker::Particle
Definition
ForwardDetectors/FPTracker/FPTracker/Particle.h:19
FPTracker::Point
Definition
FPTracker/FPTracker/Point.h:14
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
HepMC::GenEvent
HepMC3::GenEvent GenEvent
Definition
GenEvent.h:39
Identifier
Definition
IdentifierFieldParser.cxx:14
FPConfig
Definition
ALFA_FPConfig.h:10
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0