ATLAS Offline Software
Loading...
Searching...
No Matches
NtupleTrackSelector.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
10
11
12#ifndef TIDAEXAMPLE_NTUPLETRACKSELECTOR_H
13#define TIDAEXAMPLE_NTUPLETRACKSELECTOR_H
14
18
19
21
22public:
23
24 NtupleTrackSelector( TrackFilter* selector=0 ) : TrackSelector(selector) { }
25
26
28 void selectTrack( TIDA::Track* track ) {
29 // do the track extraction stuff here....
30 if ( track ) {
31 TIDA::Track* t = new TIDA::Track( *track );
32 if ( !addTrack( t ) ) delete t;
33 // addTrack( track );
34 }
35 }
36
37
39 void selectTrack( const TIDA::Track& track ) {
40 // do the track extraction stuff here....
41 TIDA::Track* t = new TIDA::Track( track );
42 if ( !addTrack( t ) ) delete t;
43 // addTrack( &track );
44 }
45
47 void selectTracks( const std::vector<TIDA::Track>& tracks ) {
48 // do the track extraction stuff here....
49 std::vector<TIDA::Track>::const_iterator trackitr = tracks.begin();
50 std::vector<TIDA::Track>::const_iterator trackend = tracks.end();
51 while ( trackitr!=trackend ) {
52 selectTrack( *trackitr );
53 ++trackitr;
54 }
55 }
56
58 void selectTracks( const std::vector<TIDA::Track*>& tracks ) {
59 // do the track extraction stuff here....
60 std::vector<TIDA::Track*>::const_iterator trackitr = tracks.begin();
61 std::vector<TIDA::Track*>::const_iterator trackend = tracks.end();
62 while ( trackitr!=trackend ) {
63 selectTrack( *trackitr );
64 ++trackitr;
65 }
66 }
67
70 virtual void clear() override {
71 for ( int i=m_tracks.size() ; i-- ; ) delete m_tracks[i];
72 m_tracks.clear();
73 }
74
75};
76
77
78
79
80#endif // TIDAEXAMPLE_NTUPLETRACKSELECTOR_H
base class for a single track selection filter allowing parameter setting for complex track selection
void selectTrack(TIDA::Track *track)
add single Track
virtual void clear() override
the ntple selector manages the tracks itself, so we have to do an explicit delete for each one to pre...
void selectTrack(const TIDA::Track &track)
add a Track
void selectTracks(const std::vector< TIDA::Track > &tracks)
extract all the tracks from a vector of Tracks
void selectTracks(const std::vector< TIDA::Track * > &tracks)
extract all the tracks from a vector of Tracks pointers
NtupleTrackSelector(TrackFilter *selector=0)
virtual bool addTrack(TIDA::Track *t, bool(*f)(const TIDA::Track *)=0)