The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
transformer.cpp
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
13#include <algorithm>
14
15namespace Gaudi {
16 namespace TestSuite {
17
18 struct SelectTracks final : Functional::Transformer<Gaudi::TestSuite::MyTrack::Selection(
19 const Gaudi::Range_<Gaudi::TestSuite::MyTrack::ConstVector>& )> {
20
21 SelectTracks( const std::string& name, ISvcLocator* pSvc )
22 : Transformer( name, pSvc, { KeyValue( "InputData", { "MyTracks" } ) },
23 KeyValue( "OutputData", { "MyOutTracks" } ) ) {}
24
28 out_tracks.insert( in_tracks.begin(), in_tracks.end(), []( const MyTrack* t ) { return t->px() >= 10.f; } );
29 return out_tracks;
30 }
31 };
32
34 } // namespace TestSuite
35} // namespace Gaudi
#define DECLARE_COMPONENT(type)
Useful class for representation of "sequence" of the objects through the range of valid iterators.
Definition Range.h:81
iterator begin() const
access to begin of the sequence (const version )
Definition Range.h:131
iterator end() const
access to end of the sequence (const version)
Definition Range.h:133
SharedObjectsContainer< MyTrack > Selection
the type of selection
Definition MyTrack.h:55
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition ISvcLocator.h:42
void insert(const TYPE *object)
insert one object into the container
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition __init__.py:1
Gaudi::TestSuite::MyTrack::Selection operator()(const Gaudi::Range_< Gaudi::TestSuite::MyTrack::ConstVector > &in_tracks) const override
SelectTracks(const std::string &name, ISvcLocator *pSvc)