ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::SelectedTracksInJet Class Reference

#include <SelectedTracksInJet.h>

Collaboration diagram for Trk::SelectedTracksInJet:

Public Member Functions

 SelectedTracksInJet ()
 Default constructor, if called initializes a VxVertexOnJetAxis with all data members set to 0.
 ~SelectedTracksInJet ()
 Destructor.
 SelectedTracksInJet (std::vector< const ITrackLink * > &primaryTrackLinks, std::vector< const ITrackLink * > &secondaryTrackLinks)
 Constructs a SelectedTracksInJet from a vector of primaries and secondaries.
 SelectedTracksInJet (const SelectedTracksInJet &)
 Copy constructor and assignement operator.
SelectedTracksInJetoperator= (const SelectedTracksInJet &)
void setPrimaryTrackLinks (std::vector< const ITrackLink * > &primaryTrackLinks)
 Set the primary tracks (takes ownership of pointers)
void setSecondaryTrackLinks (std::vector< const ITrackLink * > &secondaryTracLinks)
 Set the secondary tracks (takes ownership of pointers)
const std::vector< const ITrackLink * > & getPrimaryTrackLinks () const
 Get the priamry tracks (please do not delete the pointers)
const std::vector< const ITrackLink * > & getSecondaryTrackLinks () const
 Get the secondary tracks (please do not delete the pointers)

Private Attributes

std::vector< const ITrackLink * > m_primaryTrackLinks
std::vector< const ITrackLink * > m_secondaryTrackLinks

Detailed Description

Definition at line 39 of file SelectedTracksInJet.h.

Constructor & Destructor Documentation

◆ SelectedTracksInJet() [1/3]

Trk::SelectedTracksInJet::SelectedTracksInJet ( )
default

Default constructor, if called initializes a VxVertexOnJetAxis with all data members set to 0.

◆ ~SelectedTracksInJet()

Trk::SelectedTracksInJet::~SelectedTracksInJet ( )

Destructor.

Definition at line 28 of file SelectedTracksInJet.cxx.

29 {
30 std::vector<const ITrackLink*>::iterator trackBegin=m_primaryTrackLinks.begin();
31 std::vector<const ITrackLink*>::iterator trackEnd=m_primaryTrackLinks.end();
32
33 for (std::vector<const ITrackLink*>::iterator trackIter=trackBegin;
34 trackIter!=trackEnd;++trackIter)
35 {
36 if (*trackIter!=0)
37 {
38 delete *trackIter;
39 *trackIter=0;
40 }
41 }
42
43 trackBegin=m_secondaryTrackLinks.begin();
44 trackEnd=m_secondaryTrackLinks.end();
45
46 for (std::vector<const ITrackLink*>::iterator trackIter=trackBegin;
47 trackIter!=trackEnd;++trackIter)
48 {
49 if (*trackIter!=0)
50 {
51 delete *trackIter;
52 *trackIter=0;
53 }
54 }
55 }
std::vector< const ITrackLink * > m_primaryTrackLinks
std::vector< const ITrackLink * > m_secondaryTrackLinks

◆ SelectedTracksInJet() [2/3]

Trk::SelectedTracksInJet::SelectedTracksInJet ( std::vector< const ITrackLink * > & primaryTrackLinks,
std::vector< const ITrackLink * > & secondaryTrackLinks )

Constructs a SelectedTracksInJet from a vector of primaries and secondaries.

Definition at line 57 of file SelectedTracksInJet.cxx.

59 : m_primaryTrackLinks(primaryTrackLinks),
60 m_secondaryTrackLinks(secondaryTrackLinks)
61 {}

◆ SelectedTracksInJet() [3/3]

Trk::SelectedTracksInJet::SelectedTracksInJet ( const SelectedTracksInJet & rhs)

Copy constructor and assignement operator.

Definition at line 63 of file SelectedTracksInJet.cxx.

64 {
65
66 std::vector<const ITrackLink*>::const_iterator trackBegin=rhs.m_primaryTrackLinks.begin();
67 std::vector<const ITrackLink*>::const_iterator trackEnd=rhs.m_primaryTrackLinks.end();
68
69 for (std::vector<const ITrackLink*>::const_iterator trackIter=trackBegin;
70 trackIter!=trackEnd;++trackIter)
71 {
72 if (*trackIter!=nullptr)
73 {
74 m_primaryTrackLinks.push_back((*trackIter)->clone());
75 }
76 }
77
78 trackBegin=rhs.m_secondaryTrackLinks.begin();
79 trackEnd=rhs.m_secondaryTrackLinks.end();
80
81 for (std::vector<const ITrackLink*>::const_iterator trackIter=trackBegin;
82 trackIter!=trackEnd;++trackIter)
83 {
84 if (*trackIter!=nullptr)
85 {
86 m_secondaryTrackLinks.push_back((*trackIter)->clone());
87 }
88 }
89 }

Member Function Documentation

◆ getPrimaryTrackLinks()

const std::vector< const ITrackLink * > & Trk::SelectedTracksInJet::getPrimaryTrackLinks ( ) const

Get the priamry tracks (please do not delete the pointers)

Definition at line 153 of file SelectedTracksInJet.cxx.

154 {
155 return m_primaryTrackLinks;
156 }

◆ getSecondaryTrackLinks()

const std::vector< const ITrackLink * > & Trk::SelectedTracksInJet::getSecondaryTrackLinks ( ) const

Get the secondary tracks (please do not delete the pointers)

Definition at line 158 of file SelectedTracksInJet.cxx.

159 {
161 }

◆ operator=()

SelectedTracksInJet & Trk::SelectedTracksInJet::operator= ( const SelectedTracksInJet & rhs)

Definition at line 91 of file SelectedTracksInJet.cxx.

92 {
93 if (this!=&rhs)
94 {
95 // delete first all preceding data
96 for (const ITrackLink* l : m_primaryTrackLinks) {
97 delete l;
98 }
99 m_primaryTrackLinks.clear();
100 for (const ITrackLink* l : m_secondaryTrackLinks) {
101 delete l;
102 }
103 m_secondaryTrackLinks.clear();
104
105 for (const ITrackLink* l : rhs.m_primaryTrackLinks) {
106 if (l) {
107 m_primaryTrackLinks.push_back(l->clone());
108 }
109 }
110 for (const ITrackLink* l : rhs.m_secondaryTrackLinks) {
111 if (l) {
112 m_secondaryTrackLinks.push_back(l->clone());
113 }
114 }
115
116 }
117 return *this;
118 }
l
Printing final latex table to .tex output file.

◆ setPrimaryTrackLinks()

void Trk::SelectedTracksInJet::setPrimaryTrackLinks ( std::vector< const ITrackLink * > & primaryTrackLinks)

Set the primary tracks (takes ownership of pointers)

Definition at line 121 of file SelectedTracksInJet.cxx.

122 {
123 std::vector<const ITrackLink*>::iterator trackBegin=m_primaryTrackLinks.begin();
124 std::vector<const ITrackLink*>::iterator trackEnd=m_primaryTrackLinks.end();
125
126 for (std::vector<const ITrackLink*>::iterator trackIter=trackBegin;
127 trackIter!=trackEnd;++trackIter)
128 {
129 if (*trackIter!=0)
130 {
131 delete *trackIter;
132 }
133 }
134 m_primaryTrackLinks=primaryTrackLinks;
135 }

◆ setSecondaryTrackLinks()

void Trk::SelectedTracksInJet::setSecondaryTrackLinks ( std::vector< const ITrackLink * > & secondaryTracLinks)

Set the secondary tracks (takes ownership of pointers)

Definition at line 137 of file SelectedTracksInJet.cxx.

138 {
139 std::vector<const ITrackLink*>::iterator trackBegin=m_secondaryTrackLinks.begin();
140 std::vector<const ITrackLink*>::iterator trackEnd=m_secondaryTrackLinks.end();
141
142 for (std::vector<const ITrackLink*>::iterator trackIter=trackBegin;
143 trackIter!=trackEnd;++trackIter)
144 {
145 if (*trackIter!=0)
146 {
147 delete *trackIter;
148 }
149 }
150 m_secondaryTrackLinks=secondaryTracLinks;
151 }

Member Data Documentation

◆ m_primaryTrackLinks

std::vector<const ITrackLink*> Trk::SelectedTracksInJet::m_primaryTrackLinks
private

Definition at line 91 of file SelectedTracksInJet.h.

◆ m_secondaryTrackLinks

std::vector<const ITrackLink*> Trk::SelectedTracksInJet::m_secondaryTrackLinks
private

Definition at line 92 of file SelectedTracksInJet.h.


The documentation for this class was generated from the following files: