ATLAS Offline Software
TrigMuonEFInfoTrack.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TRIGMUONEVENT_TRIGMUONEFINFOTRACK_H
8 #define TRIGMUONEVENT_TRIGMUONEFINFOTRACK_H
9 
10 // STL include(s):
11 #include <map>
12 #include <string>
13 
14 #include "AthenaKernel/CLASS_DEF.h"
15 
16 // Forward declaration(s):
17 class MsgStream;
18 class TrigMuonEFTrack;
19 class TrigMuonEFCbTrack;
20 
22 {
23 public:
24  /* muon types */
25  static const int MuonTypeEFMuon=1;
26  static const int MuGirlMuon=2;
27  static const int MuGirlMuonTag=3;
28 
37 
38  bool hasSpectrometerTrack() const;
39  bool hasExtrapolatedTrack() const;
40  bool hasCombinedTrack() const;
41 
45 
46  void setSpectrometerTrack( std::unique_ptr<TrigMuonEFTrack> track );
47  void setExtrapolatedTrack( std::unique_ptr<TrigMuonEFTrack> track );
48  void setCombinedTrack( std::unique_ptr<TrigMuonEFCbTrack> track );
49 
53 
57 
58  unsigned short int MuonType() const
59  {
60  return m_muonType;
61  }
62 
63  void setMuonType(unsigned short int muonType)
64  {
65  this->m_muonType = muonType;
66  }
67 
68 private:
69 
73  unsigned short int m_muonType;
74 
75 };
76 
77 std::string str( const TrigMuonEFInfoTrack& d ); //<! printing helper
78 MsgStream& operator<< ( MsgStream& m, const TrigMuonEFInfoTrack& d ); //<! printing helper (wraps above)
79 
81 
82 inline bool operator!= ( const TrigMuonEFInfoTrack& a, const TrigMuonEFInfoTrack& b ) {
83  return !( a == b );
84 }
85 
93 void diff( const TrigMuonEFInfoTrack& a, const TrigMuonEFInfoTrack& b, std::map<std::string, double>& variableChange );
94 
95 CLASS_DEF( TrigMuonEFInfoTrack , 154078292 , 1 )
96 
97 #endif // TRIGMUONEVENT_TRIGMUONEFINFOTRACK_H
TrigMuonEFInfoTrack::TrigMuonEFInfoTrack
TrigMuonEFInfoTrack()
Default constructor.
Definition: TrigMuonEFInfoTrack.cxx:29
TrigMuonEFInfoTrack::operator=
TrigMuonEFInfoTrack & operator=(const TrigMuonEFInfoTrack &rhs)
Assignement operator.
Definition: TrigMuonEFInfoTrack.cxx:45
TrigMuonEFInfoTrack::MuGirlMuonTag
static const int MuGirlMuonTag
Definition: TrigMuonEFInfoTrack.h:27
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
operator==
bool operator==(const TrigMuonEFInfoTrack &a, const TrigMuonEFInfoTrack &b)
Definition: TrigMuonEFInfoTrack.cxx:152
TrigMuonEFInfoTrack::setSpectrometerTrack
void setSpectrometerTrack(TrigMuonEFTrack *track)
Definition: TrigMuonEFInfoTrack.cxx:68
TrigMuonEFTrack
Definition: TrigMuonEFTrack.h:27
hist_file_dump.d
d
Definition: hist_file_dump.py:137
TrigMuonEFInfoTrack::CombinedTrack
const TrigMuonEFCbTrack * CombinedTrack() const
Definition: TrigMuonEFInfoTrack.h:56
TrigMuonEFInfoTrack::hasExtrapolatedTrack
bool hasExtrapolatedTrack() const
Definition: TrigMuonEFInfoTrack.cxx:121
TrigMuonEFInfoTrack::setCombinedTrack
void setCombinedTrack(TrigMuonEFCbTrack *track)
Definition: TrigMuonEFInfoTrack.cxx:78
TrigMuonEFInfoTrack::setExtrapolatedTrack
void setExtrapolatedTrack(TrigMuonEFTrack *track)
Definition: TrigMuonEFInfoTrack.cxx:73
TrigMuonEFInfoTrack::m_combinedTrack
TrigMuonEFCbTrack * m_combinedTrack
Definition: TrigMuonEFInfoTrack.h:72
TrigMuonEFInfoTrack::hasSpectrometerTrack
bool hasSpectrometerTrack() const
Definition: TrigMuonEFInfoTrack.cxx:101
TrigMuonEFInfoTrack::~TrigMuonEFInfoTrack
~TrigMuonEFInfoTrack()
Destructor.
Definition: TrigMuonEFInfoTrack.cxx:60
TrigMuonEFInfoTrack::m_muonType
unsigned short int m_muonType
Definition: TrigMuonEFInfoTrack.h:73
TrigMuonEFInfoTrack::CombinedTrack
TrigMuonEFCbTrack * CombinedTrack()
Definition: TrigMuonEFInfoTrack.h:52
TrigMuonEFInfoTrack::SpectrometerTrack
TrigMuonEFTrack * SpectrometerTrack()
Definition: TrigMuonEFInfoTrack.h:50
TrigMuonEFInfoTrack::m_extrapolatedTrack
TrigMuonEFTrack * m_extrapolatedTrack
Definition: TrigMuonEFInfoTrack.h:71
TrigMuonEFInfoTrack::setMuonType
void setMuonType(unsigned short int muonType)
Definition: TrigMuonEFInfoTrack.h:63
TrigMuonEFInfoTrack::ExtrapolatedTrack
TrigMuonEFTrack * ExtrapolatedTrack()
Definition: TrigMuonEFInfoTrack.h:51
TrigMuonEFInfoTrack::MuonType
unsigned short int MuonType() const
Definition: TrigMuonEFInfoTrack.h:58
TrigMuonEFCbTrack
Definition: TrigMuonEFCbTrack.h:28
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrigMuonEFInfoTrack::hasCombinedTrack
bool hasCombinedTrack() const
Definition: TrigMuonEFInfoTrack.cxx:111
operator!=
bool operator!=(const TrigMuonEFInfoTrack &a, const TrigMuonEFInfoTrack &b)
Definition: TrigMuonEFInfoTrack.h:82
TrigMuonEFInfoTrack::ExtrapolatedTrack
const TrigMuonEFTrack * ExtrapolatedTrack() const
Definition: TrigMuonEFInfoTrack.h:55
TrigMuonEFInfoTrack
Definition: TrigMuonEFInfoTrack.h:22
TrigMuonEFInfoTrack::MuGirlMuon
static const int MuGirlMuon
Definition: TrigMuonEFInfoTrack.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigMuonEFInfoTrack::m_spectrometerTrack
TrigMuonEFTrack * m_spectrometerTrack
Definition: TrigMuonEFInfoTrack.h:70
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TrigMuonEFInfoTrack::SpectrometerTrack
const TrigMuonEFTrack * SpectrometerTrack() const
Definition: TrigMuonEFInfoTrack.h:54
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
TrigMuonEFInfoTrack::MuonTypeEFMuon
static const int MuonTypeEFMuon
Definition: TrigMuonEFInfoTrack.h:25
str
std::string str(const TrigMuonEFInfoTrack &d)
Definition: TrigMuonEFInfoTrack.cxx:135
CLASS_DEF.h
macros to associate a CLID to a type
diff
void diff(const TrigMuonEFInfoTrack &a, const TrigMuonEFInfoTrack &b, std::map< std::string, double > &variableChange)
comparison with feedback Function compares two objects and returns "semi verbose" output in the form ...
Definition: TrigMuonEFInfoTrack.cxx:166
operator<<
MsgStream & operator<<(MsgStream &m, const TrigMuonEFInfoTrack &d)
Definition: TrigMuonEFInfoTrack.cxx:148