ATLAS Offline Software
TrigMuonEFInfo.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TRIGMUONEVENT_TRIGMUONEFINFO_H
8 #define TRIGMUONEVENT_TRIGMUONEFINFO_H
9 
10 // STL include(s):
11 #include <map>
12 #include <string>
13 
14 // Gaudi/Athena include(s):
15 #include "AthenaKernel/CLASS_DEF.h"
16 
17 // Forward declaration(s):
18 class MsgStream;
19 class TrigMuonEFTrack;
20 class TrigMuonEFCbTrack;
23 
25 
26  enum{nRoINumDefault=999};
27 
28 public:
29 
32 
33 
34  TrigMuonEFInfo( unsigned short int theRoI );
35 
36  TrigMuonEFInfo( unsigned short int theRoI,
37  std::unique_ptr<TrigMuonEFInfoTrackContainer> tracks);
38 
40  TrigMuonEFInfo( unsigned short int theRoI,
41  std::unique_ptr<TrigMuonEFInfoTrackContainer> tracks,
42  std::unique_ptr<TrigMuonEFTrack> spectrometerTrack,
43  std::unique_ptr<TrigMuonEFTrack> extrapolatedTrack,
44  std::unique_ptr<TrigMuonEFCbTrack> combinedTrack);
45 
47  TrigMuonEFInfo( const TrigMuonEFInfo& rhs );
48 
51 
54 
57 
58  // the check on pointers should be the best way to check.
59  // Anyway right now the tracks are created, empty, in the constructor.
60  // So here the check is if the track has been set once at least.
61  //
62  bool hasTrack() const;
63 
64  // legacy methods
65  bool hasSpectrometerTrack() const ;
66  bool hasExtrapolatedTrack() const ;
67  bool hasCombinedTrack() const ;
68 
69 
70  /* set methods */
71  void setRoINum( unsigned short int theRoINum );
72  void setNSegments( unsigned short int theNSegments );
73  void setNMdtHits( unsigned short int theNMdtHits );
74  void setNRpcHits( unsigned short int theNRpcHits );
75  void setNTgcHits( unsigned short int theNTgcHits );
76  void setNCscHits( unsigned short int theNCscHits );
77  void setEtaPreviousLevel( double theEtaPreviousLevel );
78  void setPhiPreviousLevel( double thePhiPreviousLevel );
80  // legacy methods
84 
85  /* get methods */
86  unsigned short int RoINum() const { return m_roi; }
87  unsigned short int NSegments() const { return m_nSegments; }
88  unsigned short int NMdtHits() const { return m_nMdtHits; }
89  unsigned short int NRpcHits() const { return m_nRpcHits; }
90  unsigned short int NTgcHits() const { return m_nTgcHits; }
91  unsigned short int NCscHits() const { return m_nCscHits; }
92  double EtaPreviousLevel() const { return m_etaPreviousLevel; }
93  double PhiPreviousLevel() const { return m_phiPreviousLevel; }
95  // legacy methods
99  // legacy methods with const correctness for comparison operator
103 
104  // checks existence of legacy track
105  bool hasLegacyTrack() const;
106 
107 
108 private:
109 
110  unsigned short int m_roi;
111  unsigned short int m_nSegments;
112  unsigned short int m_nMdtHits;
113  unsigned short int m_nRpcHits;
114  unsigned short int m_nTgcHits;
115  unsigned short int m_nCscHits;
118 
120 
121  // these objects are kept here for backward compatibility.
122  // the are not used.
126 
127 };
128 
129 
131 std::string str( const TrigMuonEFInfo& d );
133 MsgStream& operator<< ( MsgStream& m, const TrigMuonEFInfo& d );
134 
136 bool operator== ( const TrigMuonEFInfo& a, const TrigMuonEFInfo& b );
138 inline bool operator!= ( const TrigMuonEFInfo& a, const TrigMuonEFInfo& b ) {
139  return !( a == b );
140 }
141 
143 void diff( const TrigMuonEFInfo& a, const TrigMuonEFInfo& b,
144  std::map< std::string, double >& variableChange );
145 
146 CLASS_DEF( TrigMuonEFInfo , 180322828 , 1 )
147 
148 #endif // TRIGMUONEVENT_TRIGMUONEFINFO_H
TrigMuonEFInfo::operator=
TrigMuonEFInfo & operator=(const TrigMuonEFInfo &rhs)
Assignment operator.
Definition: TrigMuonEFInfo.cxx:147
TrigMuonEFInfo::setPhiPreviousLevel
void setPhiPreviousLevel(double thePhiPreviousLevel)
Definition: TrigMuonEFInfo.cxx:261
TrigMuonEFInfo::hasLegacyTrack
bool hasLegacyTrack() const
Definition: TrigMuonEFInfo.cxx:355
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
TrigMuonEFInfo::RoINum
unsigned short int RoINum() const
Definition: TrigMuonEFInfo.h:86
TrigMuonEFInfo::NTgcHits
unsigned short int NTgcHits() const
Definition: TrigMuonEFInfo.h:90
TrigMuonEFInfo::SpectrometerTrack
TrigMuonEFTrack * SpectrometerTrack()
Definition: TrigMuonEFInfo.cxx:284
TrigMuonEFInfo::setNMdtHits
void setNMdtHits(unsigned short int theNMdtHits)
Definition: TrigMuonEFInfo.cxx:231
TrigMuonEFInfo::m_spectrometerTrack
TrigMuonEFTrack * m_spectrometerTrack
Definition: TrigMuonEFInfo.h:123
TrigMuonEFTrack
Definition: TrigMuonEFTrack.h:27
TrigMuonEFInfo::m_extrapolatedTrack
TrigMuonEFTrack * m_extrapolatedTrack
Definition: TrigMuonEFInfo.h:124
hist_file_dump.d
d
Definition: hist_file_dump.py:137
TrigMuonEFInfo::setNCscHits
void setNCscHits(unsigned short int theNCscHits)
Definition: TrigMuonEFInfo.cxx:249
TrigMuonEFInfo::setCombinedTrack
void setCombinedTrack(TrigMuonEFCbTrack *track)
Definition: TrigMuonEFInfo.cxx:319
TrigMuonEFInfo::m_trackContainer
TrigMuonEFInfoTrackContainer * m_trackContainer
Definition: TrigMuonEFInfo.h:119
TrigMuonEFInfo::m_nTgcHits
unsigned short int m_nTgcHits
Definition: TrigMuonEFInfo.h:114
TrigMuonEFInfo::NSegments
unsigned short int NSegments() const
Definition: TrigMuonEFInfo.h:87
TrigMuonEFInfo::setRoINum
void setRoINum(unsigned short int theRoINum)
Definition: TrigMuonEFInfo.cxx:218
TrigMuonEFInfo::NRpcHits
unsigned short int NRpcHits() const
Definition: TrigMuonEFInfo.h:89
TrigMuonEFInfo::legacyCombinedTrack
const TrigMuonEFCbTrack * legacyCombinedTrack() const
Definition: TrigMuonEFInfo.h:102
TrigMuonEFInfo::m_etaPreviousLevel
double m_etaPreviousLevel
Definition: TrigMuonEFInfo.h:116
Trk::combinedTrack
void combinedTrack(long int ICH, double *pv0, double *covi, double BMAG, double *par, double *covo)
Definition: XYZtrp.cxx:113
TrigMuonEFInfo::EtaPreviousLevel
double EtaPreviousLevel() const
Definition: TrigMuonEFInfo.h:92
TrigMuonEFInfo::legacyExtrapolatedTrack
const TrigMuonEFTrack * legacyExtrapolatedTrack() const
Definition: TrigMuonEFInfo.h:101
operator!=
bool operator!=(const TrigMuonEFInfo &a, const TrigMuonEFInfo &b)
Operator comparing two TrigMuonEFInfo objects for inequality.
Definition: TrigMuonEFInfo.h:138
TrigMuonEFInfo::NCscHits
unsigned short int NCscHits() const
Definition: TrigMuonEFInfo.h:91
TrigMuonEFInfo::~TrigMuonEFInfo
~TrigMuonEFInfo()
Destructor.
Definition: TrigMuonEFInfo.cxx:210
TrigMuonEFInfo::hasCombinedTrack
bool hasCombinedTrack() const
Definition: TrigMuonEFInfo.cxx:384
operator==
bool operator==(const TrigMuonEFInfo &a, const TrigMuonEFInfo &b)
Operator comparing two TrigMuonEFInfo objects for equality.
Definition: TrigMuonEFInfo.cxx:439
TrigMuonEFInfo::addTrack
void addTrack(TrigMuonEFInfoTrack *track)
Definition: TrigMuonEFInfo.cxx:267
TrigMuonEFInfo::hasSpectrometerTrack
bool hasSpectrometerTrack() const
Definition: TrigMuonEFInfo.cxx:379
TrigMuonEFInfo::m_nMdtHits
unsigned short int m_nMdtHits
Definition: TrigMuonEFInfo.h:112
TrigMuonEFInfo::hasExtrapolatedTrack
bool hasExtrapolatedTrack() const
Definition: TrigMuonEFInfo.cxx:389
TrigMuonEFInfo::setNRpcHits
void setNRpcHits(unsigned short int theNRpcHits)
Definition: TrigMuonEFInfo.cxx:237
TrigMuonEFInfo::legacySpectrometerTrack
const TrigMuonEFTrack * legacySpectrometerTrack() const
Definition: TrigMuonEFInfo.h:100
TrigMuonEFInfo::m_roi
unsigned short int m_roi
Definition: TrigMuonEFInfo.h:110
TrigMuonEFInfo::hasTrack
bool hasTrack() const
Definition: TrigMuonEFInfo.cxx:341
TrigMuonEFInfoTrackContainer
Definition: TrigMuonEFInfoTrackContainer.h:27
diff
void diff(const TrigMuonEFInfo &a, const TrigMuonEFInfo &b, std::map< std::string, double > &variableChange)
Comparison with feedback.
Definition: TrigMuonEFInfo.cxx:499
TrigMuonEFInfo::ExtrapolatedTrack
TrigMuonEFTrack * ExtrapolatedTrack()
Definition: TrigMuonEFInfo.cxx:306
TrigMuonEFCbTrack
Definition: TrigMuonEFCbTrack.h:28
TrigMuonEFInfo::m_combinedTrack
TrigMuonEFCbTrack * m_combinedTrack
Definition: TrigMuonEFInfo.h:125
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrigMuonEFInfo::CombinedTrack
TrigMuonEFCbTrack * CombinedTrack()
Definition: TrigMuonEFInfo.cxx:329
TrigMuonEFInfoTrack
Definition: TrigMuonEFInfoTrack.h:22
TrigMuonEFInfo::setNTgcHits
void setNTgcHits(unsigned short int theNTgcHits)
Definition: TrigMuonEFInfo.cxx:243
TrigMuonEFInfo::nRoINumDefault
@ nRoINumDefault
Definition: TrigMuonEFInfo.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigMuonEFInfo::setNSegments
void setNSegments(unsigned short int theNSegments)
Definition: TrigMuonEFInfo.cxx:224
TrigMuonEFInfo::setSpectrometerTrack
void setSpectrometerTrack(TrigMuonEFTrack *track)
Definition: TrigMuonEFInfo.cxx:274
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
TrigMuonEFInfo::m_phiPreviousLevel
double m_phiPreviousLevel
Definition: TrigMuonEFInfo.h:117
TrigMuonEFInfo::setEtaPreviousLevel
void setEtaPreviousLevel(double theEtaPreviousLevel)
Definition: TrigMuonEFInfo.cxx:255
str
std::string str(const TrigMuonEFInfo &d)
Helper function for printing the object.
Definition: TrigMuonEFInfo.cxx:399
TrigMuonEFInfo::TrackContainer
const TrigMuonEFInfoTrackContainer * TrackContainer() const
Definition: TrigMuonEFInfo.h:94
TrigMuonEFInfo::m_nRpcHits
unsigned short int m_nRpcHits
Definition: TrigMuonEFInfo.h:113
TrigMuonEFInfo::setExtrapolatedTrack
void setExtrapolatedTrack(TrigMuonEFTrack *track)
Definition: TrigMuonEFInfo.cxx:296
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
TrigMuonEFInfo::m_nSegments
unsigned short int m_nSegments
Definition: TrigMuonEFInfo.h:111
TrigMuonEFInfo::TrigMuonEFInfo
TrigMuonEFInfo()
Default constructor.
Definition: TrigMuonEFInfo.cxx:95
TrigMuonEFInfo::m_nCscHits
unsigned short int m_nCscHits
Definition: TrigMuonEFInfo.h:115
TrigMuonEFInfo::PhiPreviousLevel
double PhiPreviousLevel() const
Definition: TrigMuonEFInfo.h:93
CLASS_DEF.h
macros to associate a CLID to a type
operator<<
MsgStream & operator<<(MsgStream &m, const TrigMuonEFInfo &d)
Helper operator for printing the object.
Definition: TrigMuonEFInfo.cxx:434
TrigMuonEFInfo
Definition: TrigMuonEFInfo.h:24
TrigMuonEFInfo::NMdtHits
unsigned short int NMdtHits() const
Definition: TrigMuonEFInfo.h:88