 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 const std::string&
name, ISvcLocator* loc )
25 return StatusCode::SUCCESS;
31 using IPLV = std::vector<ElementLink<xAOD::IParticleContainer>>;
38 for (
const auto*
obj: *constituents) {
41 for (
const auto& link: constituents(*
obj)) {
42 if (!link.isValid())
throw std::runtime_error(
43 "invalid constituent link");
45 if (!
flow)
throw std::runtime_error(
"constituent isn't flow object");
46 if (!
flow->isCharged()) neutral_flows.push_back(link);
47 else charged_flows.push_back(link);
49 neutralConstituentsOut(*
obj) = neutral_flows;
50 chargedConstituentsOut(*
obj) = charged_flows;
53 return StatusCode::SUCCESS;
SG::WriteDecorHandleKey< IPC > m_neutralConstituentOutKey
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &) const override
SG::WriteDecorHandleKey< IPC > m_chargedConstituentOutKey
An algorithm that can be simultaneously executed in multiple threads.
Handle class for reading a decoration on an object.
int flow(const T &a, int i)
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
Handle class for adding a decoration to an object.
SG::ReadDecorHandleKey< IPC > m_constituentKey
FlowSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator)
< Constructors
Handle class for reading a decoration on an object.
A detector object made of other lower level object(s)