ATLAS Offline Software
Loading...
Searching...
No Matches
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
14#include "GaudiKernel/Algorithm.h"
17
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
30class AtlasDetectorID;
31class Identifier;
32class StoreGateSvc;
33
44
46{
47public:
49 ALFA_BeamTransport(const std::string& name, ISvcLocator* pSvcLocator);
52
54 StatusCode initialize();
56 StatusCode execute();
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
69private:
70 // some storegate variables
71
73 this,
74 "McEventCollectionName",
75 "GEN_EVENT",
76 "MC Event Collection name"
77 };
78
80 "EvtInfo",
81 "EventInfo",
82 "EventInfo name" };
83
84 // Set FPConfiguration variables
85
87
88 // added
92 // Position at RP
95 // Momentum at RP
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
120};
121
122#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
int TransportSelectedParticle(HepMC::GenEvent &evt, int evt_number)
This function is event selection, tracking and HepMC save ine one function.
FPTracker::Point m_PosRP3
ALFA_BeamTrack m_BeamTracker
FPTracker::Particle m_Particle1
StatusCode finalize()
standard Athena-Algorithm method
StatusCode initialize()
standard Athena-Algorithm method
StatusCode execute()
standard Athena-Algorithm method
FPTracker::Point m_PosRP1
ALFA_BeamTransport(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
SG::ReadHandleKey< McEventCollection > m_MCKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
int DoBeamTracking(int evt_number)
Function which calls BeamTrack class to calcualte Position at RPs.
FPTracker::Particle m_Particle2
FPTracker::Point m_MomRP3
int SelectParticles(HepMC::GenEvent *evt)
Selects particles for beam transported Sets event status code of outgoing particles from generator to...
~ALFA_BeamTransport()
Default Destructor.
FPTracker::Point m_MomRP1
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Property holding a SG store/key/clid from which a ReadHandle is made.
The Athena Transient Store API.