ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonEFInfo Class Reference

#include <TrigMuonEFInfo.h>

Collaboration diagram for TrigMuonEFInfo:

Public Member Functions

 TrigMuonEFInfo ()
 Default constructor.
 TrigMuonEFInfo (unsigned short int theRoI)
 TrigMuonEFInfo (unsigned short int theRoI, std::unique_ptr< TrigMuonEFInfoTrackContainer > tracks)
 TrigMuonEFInfo (unsigned short int theRoI, std::unique_ptr< TrigMuonEFInfoTrackContainer > tracks, std::unique_ptr< TrigMuonEFTrack > spectrometerTrack, std::unique_ptr< TrigMuonEFTrack > extrapolatedTrack, std::unique_ptr< TrigMuonEFCbTrack > combinedTrack)
 Constuctor setting legacy variables.
 TrigMuonEFInfo (const TrigMuonEFInfo &rhs)
 Copy constructor.
TrigMuonEFInfooperator= (const TrigMuonEFInfo &rhs)
 Assignment operator.
TrigMuonEFInfooperator= (TrigMuonEFInfo &&rhs)
 Move assignment operator.
 ~TrigMuonEFInfo ()
 Destructor.
bool hasTrack () const
bool hasSpectrometerTrack () const
bool hasExtrapolatedTrack () const
bool hasCombinedTrack () const
void setRoINum (unsigned short int theRoINum)
void setNSegments (unsigned short int theNSegments)
void setNMdtHits (unsigned short int theNMdtHits)
void setNRpcHits (unsigned short int theNRpcHits)
void setNTgcHits (unsigned short int theNTgcHits)
void setNCscHits (unsigned short int theNCscHits)
void setEtaPreviousLevel (double theEtaPreviousLevel)
void setPhiPreviousLevel (double thePhiPreviousLevel)
void addTrack (TrigMuonEFInfoTrack *track)
void setSpectrometerTrack (TrigMuonEFTrack *track)
void setExtrapolatedTrack (TrigMuonEFTrack *track)
void setCombinedTrack (TrigMuonEFCbTrack *track)
unsigned short int RoINum () const
unsigned short int NSegments () const
unsigned short int NMdtHits () const
unsigned short int NRpcHits () const
unsigned short int NTgcHits () const
unsigned short int NCscHits () const
double EtaPreviousLevel () const
double PhiPreviousLevel () const
const TrigMuonEFInfoTrackContainerTrackContainer () const
TrigMuonEFTrackSpectrometerTrack ()
TrigMuonEFTrackExtrapolatedTrack ()
TrigMuonEFCbTrackCombinedTrack ()
const TrigMuonEFTracklegacySpectrometerTrack () const
const TrigMuonEFTracklegacyExtrapolatedTrack () const
const TrigMuonEFCbTracklegacyCombinedTrack () const
bool hasLegacyTrack () const

Private Types

enum  { nRoINumDefault =999 }

Private Attributes

unsigned short int m_roi
unsigned short int m_nSegments
unsigned short int m_nMdtHits
unsigned short int m_nRpcHits
unsigned short int m_nTgcHits
unsigned short int m_nCscHits
double m_etaPreviousLevel
double m_phiPreviousLevel
TrigMuonEFInfoTrackContainerm_trackContainer
TrigMuonEFTrackm_spectrometerTrack
TrigMuonEFTrackm_extrapolatedTrack
TrigMuonEFCbTrackm_combinedTrack

Detailed Description

Definition at line 24 of file TrigMuonEFInfo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
nRoINumDefault 

Definition at line 26 of file TrigMuonEFInfo.h.

Constructor & Destructor Documentation

◆ TrigMuonEFInfo() [1/5]

TrigMuonEFInfo::TrigMuonEFInfo ( )

Default constructor.

Definition at line 95 of file TrigMuonEFInfo.cxx.

96{
98 m_nSegments = 0;
99 m_nMdtHits = 0;
100 m_nRpcHits = 0;
101 m_nCscHits = 0;
102 m_nTgcHits = 0;
105
106 m_trackContainer = new TrigMuonEFInfoTrackContainer();
107
108 // these objects have to be created to guard
109 // backward compatibilty for the TPCnv package.
110 // they are not stored.
111 m_spectrometerTrack = new TrigMuonEFTrack();
112 m_extrapolatedTrack = new TrigMuonEFTrack();
113 m_combinedTrack = new TrigMuonEFCbTrack();
114}
TrigMuonEFCbTrack * m_combinedTrack
unsigned short int m_nRpcHits
double m_etaPreviousLevel
unsigned short int m_nCscHits
unsigned short int m_roi
TrigMuonEFTrack * m_extrapolatedTrack
unsigned short int m_nMdtHits
unsigned short int m_nSegments
TrigMuonEFInfoTrackContainer * m_trackContainer
TrigMuonEFTrack * m_spectrometerTrack
unsigned short int m_nTgcHits
double m_phiPreviousLevel

◆ TrigMuonEFInfo() [2/5]

TrigMuonEFInfo::TrigMuonEFInfo ( unsigned short int theRoI)

Definition at line 72 of file TrigMuonEFInfo.cxx.

73{
74
75 m_roi = theRoI;
76 m_nSegments = 0;
77 m_nMdtHits = 0;
78 m_nRpcHits = 0;
79 m_nCscHits = 0;
80 m_nTgcHits = 0;
83
84 m_trackContainer = new TrigMuonEFInfoTrackContainer();
85
86 // these objects have to be created to guard
87 // backward compatibilty for the TPCnv package.
88 // they are not stored.
89 m_spectrometerTrack = new TrigMuonEFTrack();
90 m_extrapolatedTrack = new TrigMuonEFTrack();
91 m_combinedTrack = new TrigMuonEFCbTrack();
92}

◆ TrigMuonEFInfo() [3/5]

TrigMuonEFInfo::TrigMuonEFInfo ( unsigned short int theRoI,
std::unique_ptr< TrigMuonEFInfoTrackContainer > tracks )

Definition at line 30 of file TrigMuonEFInfo.cxx.

32 : m_roi (theRoI),
33 m_nSegments (0),
34 m_nMdtHits (0),
35 m_nRpcHits (0),
36 m_nTgcHits (0),
37 m_nCscHits (0),
40 m_trackContainer (tracks.release())
41{
42 // these objects have to be created to guard
43 // backward compatibilty for the TPCnv package.
44 // they are not stored.
45 m_spectrometerTrack = new TrigMuonEFTrack();
46 m_extrapolatedTrack = new TrigMuonEFTrack();
47 m_combinedTrack = new TrigMuonEFCbTrack();
48}

◆ TrigMuonEFInfo() [4/5]

TrigMuonEFInfo::TrigMuonEFInfo ( unsigned short int theRoI,
std::unique_ptr< TrigMuonEFInfoTrackContainer > tracks,
std::unique_ptr< TrigMuonEFTrack > spectrometerTrack,
std::unique_ptr< TrigMuonEFTrack > extrapolatedTrack,
std::unique_ptr< TrigMuonEFCbTrack > combinedTrack )

Constuctor setting legacy variables.

Definition at line 51 of file TrigMuonEFInfo.cxx.

56 : m_roi (theRoI),
57 m_nSegments (0),
58 m_nMdtHits (0),
59 m_nRpcHits (0),
60 m_nTgcHits (0),
61 m_nCscHits (0),
64 m_trackContainer (tracks.release()),
65 m_spectrometerTrack (spectrometerTrack.release()),
66 m_extrapolatedTrack (extrapolatedTrack.release()),
68{
69}
void combinedTrack(long int ICH, double *pv0, double *covi, double BMAG, double *par, double *covo)
Definition XYZtrp.cxx:113

◆ TrigMuonEFInfo() [5/5]

TrigMuonEFInfo::TrigMuonEFInfo ( const TrigMuonEFInfo & rhs)

Copy constructor.

Definition at line 116 of file TrigMuonEFInfo.cxx.

116 :
117 m_roi( rhs.m_roi ),
119 m_nMdtHits( rhs.m_nMdtHits ),
120 m_nRpcHits( rhs.m_nRpcHits ),
121 m_nTgcHits( rhs.m_nTgcHits ),
122 m_nCscHits( rhs.m_nCscHits ),
125 {
126
127 // deep copy of m_trackContainer
128 m_trackContainer = new TrigMuonEFInfoTrackContainer();
129 for (const TrigMuonEFInfoTrack* t : *rhs.m_trackContainer)
130 { // loop over container content
131 m_trackContainer->push_back(std::make_unique<TrigMuonEFInfoTrack>(*t));
132 }
133
134 // check for legacy tracks
137 m_combinedTrack = 0;
138 if (rhs.m_spectrometerTrack)
139 m_spectrometerTrack = new TrigMuonEFTrack( *rhs.m_spectrometerTrack ); // legacy
140 if (rhs.m_extrapolatedTrack)
141 m_extrapolatedTrack = new TrigMuonEFTrack( *rhs.m_extrapolatedTrack ); // legacy
142 if (rhs.m_combinedTrack)
143 m_combinedTrack = new TrigMuonEFCbTrack( *rhs.m_combinedTrack ); // legacy
144
145}

◆ ~TrigMuonEFInfo()

TrigMuonEFInfo::~TrigMuonEFInfo ( )

Destructor.

Definition at line 210 of file TrigMuonEFInfo.cxx.

211{
212 delete m_trackContainer;
213 delete m_spectrometerTrack;
214 delete m_extrapolatedTrack;
215 delete m_combinedTrack;
216}

Member Function Documentation

◆ addTrack()

void TrigMuonEFInfo::addTrack ( TrigMuonEFInfoTrack * track)

Definition at line 267 of file TrigMuonEFInfo.cxx.

267 {
268
269 m_trackContainer->push_back(theTrack);
270
271 return;
272}

◆ CombinedTrack()

TrigMuonEFCbTrack * TrigMuonEFInfo::CombinedTrack ( )

Definition at line 329 of file TrigMuonEFInfo.cxx.

330{
331 if (!hasTrack() && !hasLegacyTrack()) {
332 addTrack( new TrigMuonEFInfoTrack());
333 return (*(m_trackContainer->begin()))->CombinedTrack();
334 }
335 else if ( hasLegacyTrack()) {
336 return(m_combinedTrack);
337 }
338 return (*(m_trackContainer->begin()))->CombinedTrack();
339}
void addTrack(TrigMuonEFInfoTrack *track)
bool hasLegacyTrack() const
bool hasTrack() const

◆ EtaPreviousLevel()

double TrigMuonEFInfo::EtaPreviousLevel ( ) const
inline

Definition at line 92 of file TrigMuonEFInfo.h.

92{ return m_etaPreviousLevel; }

◆ ExtrapolatedTrack()

TrigMuonEFTrack * TrigMuonEFInfo::ExtrapolatedTrack ( )

Definition at line 306 of file TrigMuonEFInfo.cxx.

307{
308 if (!hasTrack() && !hasLegacyTrack()) {
309 addTrack( new TrigMuonEFInfoTrack());
310 return (*(m_trackContainer->begin()))->ExtrapolatedTrack();
311 }
312 else if ( hasLegacyTrack()) {
313 return(m_extrapolatedTrack);
314 }
315 return (*(m_trackContainer->begin()))->ExtrapolatedTrack();
316
317}

◆ hasCombinedTrack()

bool TrigMuonEFInfo::hasCombinedTrack ( ) const

Definition at line 384 of file TrigMuonEFInfo.cxx.

384 {
385 return (hasLegacyTrack()||hasTrack());
386}

◆ hasExtrapolatedTrack()

bool TrigMuonEFInfo::hasExtrapolatedTrack ( ) const

Definition at line 389 of file TrigMuonEFInfo.cxx.

389 {
390 return (hasLegacyTrack()||hasTrack());
391}

◆ hasLegacyTrack()

bool TrigMuonEFInfo::hasLegacyTrack ( ) const

Definition at line 355 of file TrigMuonEFInfo.cxx.

355 {
356
357 if ( m_spectrometerTrack==0
359 || m_combinedTrack==0) {
360 return false;
361 }
362 else if (
363 m_spectrometerTrack->charge()!=m_spectrometerTrack->CHARGE_NA ||
364 m_extrapolatedTrack->charge()!=m_extrapolatedTrack->CHARGE_NA ||
365 m_combinedTrack->charge()!=m_combinedTrack->CHARGE_NA ||
366 m_spectrometerTrack->m()!=0. || // legacy, charge wasn't stored until p2
367 m_extrapolatedTrack->m()!=0. || // of TrigMuonEFTrackCnv
368 m_combinedTrack->m()!=0.
369
370 ) {
371 return true;
372 }
373 else {
374 return false;
375 }
376}

◆ hasSpectrometerTrack()

bool TrigMuonEFInfo::hasSpectrometerTrack ( ) const

Definition at line 379 of file TrigMuonEFInfo.cxx.

379 {
380 return (hasLegacyTrack()||hasTrack());
381}

◆ hasTrack()

bool TrigMuonEFInfo::hasTrack ( ) const

Definition at line 341 of file TrigMuonEFInfo.cxx.

341 {
342 // object, legacy tracks?
343 if (!m_trackContainer) {
344 return false;
345 }
346 // trackContainer empty?
347 else if (m_trackContainer->size()>0) {
348 return true;
349 }
350 else {
351 return false;
352 }
353}

◆ legacyCombinedTrack()

const TrigMuonEFCbTrack * TrigMuonEFInfo::legacyCombinedTrack ( ) const
inline

Definition at line 102 of file TrigMuonEFInfo.h.

102{return m_combinedTrack;}

◆ legacyExtrapolatedTrack()

const TrigMuonEFTrack * TrigMuonEFInfo::legacyExtrapolatedTrack ( ) const
inline

Definition at line 101 of file TrigMuonEFInfo.h.

101{return m_extrapolatedTrack;}

◆ legacySpectrometerTrack()

const TrigMuonEFTrack * TrigMuonEFInfo::legacySpectrometerTrack ( ) const
inline

Definition at line 100 of file TrigMuonEFInfo.h.

100{return m_spectrometerTrack;}

◆ NCscHits()

unsigned short int TrigMuonEFInfo::NCscHits ( ) const
inline

Definition at line 91 of file TrigMuonEFInfo.h.

91{ return m_nCscHits; }

◆ NMdtHits()

unsigned short int TrigMuonEFInfo::NMdtHits ( ) const
inline

Definition at line 88 of file TrigMuonEFInfo.h.

88{ return m_nMdtHits; }

◆ NRpcHits()

unsigned short int TrigMuonEFInfo::NRpcHits ( ) const
inline

Definition at line 89 of file TrigMuonEFInfo.h.

89{ return m_nRpcHits; }

◆ NSegments()

unsigned short int TrigMuonEFInfo::NSegments ( ) const
inline

Definition at line 87 of file TrigMuonEFInfo.h.

87{ return m_nSegments; }

◆ NTgcHits()

unsigned short int TrigMuonEFInfo::NTgcHits ( ) const
inline

Definition at line 90 of file TrigMuonEFInfo.h.

90{ return m_nTgcHits; }

◆ operator=() [1/2]

TrigMuonEFInfo & TrigMuonEFInfo::operator= ( const TrigMuonEFInfo & rhs)

Assignment operator.

Definition at line 147 of file TrigMuonEFInfo.cxx.

148{
149
150 if ( this != &rhs ) {
151 m_roi = rhs.m_roi;
159
160 // clean up
161 delete m_trackContainer;
162
163 // deep copy of m_trackContainer
164 m_trackContainer = new TrigMuonEFInfoTrackContainer();
165 for (const TrigMuonEFInfoTrack* t : *rhs.m_trackContainer)
166 {
167 m_trackContainer->push_back(std::make_unique<TrigMuonEFInfoTrack>(*t));
168 }
169
170 // check for legacy tracks
171 if (rhs.m_spectrometerTrack) {
172 delete m_spectrometerTrack;
173 m_spectrometerTrack = new TrigMuonEFTrack( *rhs.m_spectrometerTrack ); // legacy
174 }
175 if (rhs.m_extrapolatedTrack) {
176 delete m_extrapolatedTrack;
177 m_extrapolatedTrack = new TrigMuonEFTrack( *rhs.m_extrapolatedTrack ); // legacy
178 }
179 if (rhs.m_combinedTrack) {
180 delete m_combinedTrack;
181 m_combinedTrack = new TrigMuonEFCbTrack( *rhs.m_combinedTrack ); // legacy
182 }
183
184 }
185 return *this;
186}

◆ operator=() [2/2]

TrigMuonEFInfo & TrigMuonEFInfo::operator= ( TrigMuonEFInfo && rhs)

Move assignment operator.

Definition at line 188 of file TrigMuonEFInfo.cxx.

189{
190
191 if ( this != &rhs ) {
192 m_roi = rhs.m_roi;
200
205
206 }
207 return *this;
208}
void swap(ElementLinkVector< DOBJ > &lhs, ElementLinkVector< DOBJ > &rhs)

◆ PhiPreviousLevel()

double TrigMuonEFInfo::PhiPreviousLevel ( ) const
inline

Definition at line 93 of file TrigMuonEFInfo.h.

93{ return m_phiPreviousLevel; }

◆ RoINum()

unsigned short int TrigMuonEFInfo::RoINum ( ) const
inline

Definition at line 86 of file TrigMuonEFInfo.h.

86{ return m_roi; }

◆ setCombinedTrack()

void TrigMuonEFInfo::setCombinedTrack ( TrigMuonEFCbTrack * track)

Definition at line 319 of file TrigMuonEFInfo.cxx.

320{
321 if (!hasTrack()) {
322 addTrack( new TrigMuonEFInfoTrack());
323 }
324 TrigMuonEFInfoTrack *track = (*(m_trackContainer->begin()));
325 track->setCombinedTrack(theTrack);
326 return;
327}

◆ setEtaPreviousLevel()

void TrigMuonEFInfo::setEtaPreviousLevel ( double theEtaPreviousLevel)

Definition at line 255 of file TrigMuonEFInfo.cxx.

256{
257 m_etaPreviousLevel = theEtaPreviousLevel;
258 return;
259}

◆ setExtrapolatedTrack()

void TrigMuonEFInfo::setExtrapolatedTrack ( TrigMuonEFTrack * track)

Definition at line 296 of file TrigMuonEFInfo.cxx.

297{
298 if (!hasTrack()) {
299 addTrack( new TrigMuonEFInfoTrack());
300 }
301 TrigMuonEFInfoTrack *track = (*(m_trackContainer->begin()));
302 track->setExtrapolatedTrack(theTrack);
303 return;
304}

◆ setNCscHits()

void TrigMuonEFInfo::setNCscHits ( unsigned short int theNCscHits)

Definition at line 249 of file TrigMuonEFInfo.cxx.

250{
251 m_nCscHits = theNCscHits;
252 return;
253}

◆ setNMdtHits()

void TrigMuonEFInfo::setNMdtHits ( unsigned short int theNMdtHits)

Definition at line 231 of file TrigMuonEFInfo.cxx.

232{
233 m_nMdtHits = theNMdtHits;
234 return;
235}

◆ setNRpcHits()

void TrigMuonEFInfo::setNRpcHits ( unsigned short int theNRpcHits)

Definition at line 237 of file TrigMuonEFInfo.cxx.

238{
239 m_nRpcHits = theNRpcHits;
240 return;
241}

◆ setNSegments()

void TrigMuonEFInfo::setNSegments ( unsigned short int theNSegments)

Definition at line 224 of file TrigMuonEFInfo.cxx.

225{
226 m_nSegments = theNSegments;
227 return;
228}

◆ setNTgcHits()

void TrigMuonEFInfo::setNTgcHits ( unsigned short int theNTgcHits)

Definition at line 243 of file TrigMuonEFInfo.cxx.

244{
245 m_nTgcHits = theNTgcHits;
246 return;
247}

◆ setPhiPreviousLevel()

void TrigMuonEFInfo::setPhiPreviousLevel ( double thePhiPreviousLevel)

Definition at line 261 of file TrigMuonEFInfo.cxx.

262{
263 m_phiPreviousLevel = thePhiPreviousLevel;
264 return;
265}

◆ setRoINum()

void TrigMuonEFInfo::setRoINum ( unsigned short int theRoINum)

Definition at line 218 of file TrigMuonEFInfo.cxx.

219{
220 m_roi = theRoINum;
221 return;
222}

◆ setSpectrometerTrack()

void TrigMuonEFInfo::setSpectrometerTrack ( TrigMuonEFTrack * track)

Definition at line 274 of file TrigMuonEFInfo.cxx.

275{
276 if (!hasTrack()) {
277 addTrack( new TrigMuonEFInfoTrack());
278 }
279 TrigMuonEFInfoTrack *track = (*(m_trackContainer->begin()));
280 track->setSpectrometerTrack(theTrack);
281 return;
282}

◆ SpectrometerTrack()

TrigMuonEFTrack * TrigMuonEFInfo::SpectrometerTrack ( )

Definition at line 284 of file TrigMuonEFInfo.cxx.

285{
286 if (!hasTrack() && !hasLegacyTrack()) {
287 addTrack( new TrigMuonEFInfoTrack());
288 return (*(m_trackContainer->begin()))->SpectrometerTrack();
289 }
290 else if (hasLegacyTrack()) {
291 return(m_spectrometerTrack);
292 }
293 return (*(m_trackContainer->begin()))->SpectrometerTrack();
294}

◆ TrackContainer()

const TrigMuonEFInfoTrackContainer * TrigMuonEFInfo::TrackContainer ( ) const
inline

Definition at line 94 of file TrigMuonEFInfo.h.

94{ return m_trackContainer; }

Member Data Documentation

◆ m_combinedTrack

TrigMuonEFCbTrack* TrigMuonEFInfo::m_combinedTrack
private

Definition at line 125 of file TrigMuonEFInfo.h.

◆ m_etaPreviousLevel

double TrigMuonEFInfo::m_etaPreviousLevel
private

Definition at line 116 of file TrigMuonEFInfo.h.

◆ m_extrapolatedTrack

TrigMuonEFTrack* TrigMuonEFInfo::m_extrapolatedTrack
private

Definition at line 124 of file TrigMuonEFInfo.h.

◆ m_nCscHits

unsigned short int TrigMuonEFInfo::m_nCscHits
private

Definition at line 115 of file TrigMuonEFInfo.h.

◆ m_nMdtHits

unsigned short int TrigMuonEFInfo::m_nMdtHits
private

Definition at line 112 of file TrigMuonEFInfo.h.

◆ m_nRpcHits

unsigned short int TrigMuonEFInfo::m_nRpcHits
private

Definition at line 113 of file TrigMuonEFInfo.h.

◆ m_nSegments

unsigned short int TrigMuonEFInfo::m_nSegments
private

Definition at line 111 of file TrigMuonEFInfo.h.

◆ m_nTgcHits

unsigned short int TrigMuonEFInfo::m_nTgcHits
private

Definition at line 114 of file TrigMuonEFInfo.h.

◆ m_phiPreviousLevel

double TrigMuonEFInfo::m_phiPreviousLevel
private

Definition at line 117 of file TrigMuonEFInfo.h.

◆ m_roi

unsigned short int TrigMuonEFInfo::m_roi
private

Definition at line 110 of file TrigMuonEFInfo.h.

◆ m_spectrometerTrack

TrigMuonEFTrack* TrigMuonEFInfo::m_spectrometerTrack
private

Definition at line 123 of file TrigMuonEFInfo.h.

◆ m_trackContainer

TrigMuonEFInfoTrackContainer* TrigMuonEFInfo::m_trackContainer
private

Definition at line 119 of file TrigMuonEFInfo.h.


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