ATLAS Offline Software
MSVertex.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #pragma once
6 
7 #include <vector>
8 
9 #include "GaudiKernel/MsgStream.h"
12 
13 class MSVertex {
14 public:
15  MSVertex() = default;
16  MSVertex(const MSVertex&) = default;
17  MSVertex(int, const Amg::Vector3D&, double, double, int, int, int);
18  MSVertex(int, const Amg::Vector3D&, const std::vector<const xAOD::TrackParticle*>&, double, double, int, int, int);
19  MSVertex& operator=(const MSVertex& msvx) = default;
20 
21  virtual ~MSVertex();
22 
23 
24  void setPosition(const Amg::Vector3D&);
25 
26  const Amg::Vector3D& getPosition() const;
27 
28  const std::vector<const xAOD::TrackParticle*>* getTracks() const;
29 
30  void setAuthor(const int);
31 
32  int getAuthor() const;
33 
34  double getChi2Probability() const;
35  double getChi2() const;
36 
37  int getNTracks() const;
38 
39  void setNMDT(const int, const int, const int, const int, const int, const int);
40  void setNRPC(const int, const int, const int, const int, const int, const int);
41  void setNTGC(const int, const int, const int, const int, const int, const int);
42 
43  int getNMDT() const;
44  int getNRPC() const;
45  int getNTGC() const;
46  std::vector<int> getNMDT_all() const;
47  std::vector<int> getNRPC_all() const;
48  std::vector<int> getNTGC_all() const;
49 
50 private:
51  unsigned int m_author{0};
52 
54 
55  std::vector<const xAOD::TrackParticle*> m_tracks{};
56 
57  double m_chi2prob{-1.f};
58  double m_chi2{-1.f};
59 
63 };
64 
65 std::string str(const MSVertex& a);
66 
67 MsgStream& operator<<(MsgStream& m, const MSVertex& a);
68 
69 bool operator==(const MSVertex& a, const MSVertex& b);
70 
71 inline bool operator!=(const MSVertex& a, const MSVertex& b) { return !(a == b); }
MSVertex::m_nMDT
int m_nMDT
Definition: MSVertex.h:60
MSVertex::setPosition
void setPosition(const Amg::Vector3D &)
Definition: MSVertex.cxx:26
MSVertex::getNTracks
int getNTracks() const
Definition: MSVertex.cxx:38
MSVertex::m_position
Amg::Vector3D m_position
Definition: MSVertex.h:53
MSVertex::m_nMDT_I
int m_nMDT_I
Definition: MSVertex.h:60
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
MSVertex::m_nRPC_E
int m_nRPC_E
Definition: MSVertex.h:61
MSVertex::m_chi2
double m_chi2
Definition: MSVertex.h:58
MSVertex::m_nTGC
int m_nTGC
Definition: MSVertex.h:62
MSVertex::getNTGC_all
std::vector< int > getNTGC_all() const
Definition: MSVertex.cxx:79
MSVertex::setNTGC
void setNTGC(const int, const int, const int, const int, const int, const int)
Definition: MSVertex.cxx:63
MSVertex::m_nTGC_I
int m_nTGC_I
Definition: MSVertex.h:62
MSVertex::getChi2
double getChi2() const
Definition: MSVertex.cxx:36
MSVertex::getChi2Probability
double getChi2Probability() const
Definition: MSVertex.cxx:35
MSVertex::setNMDT
void setNMDT(const int, const int, const int, const int, const int, const int)
Definition: MSVertex.cxx:45
operator!=
bool operator!=(const MSVertex &a, const MSVertex &b)
Definition: MSVertex.h:71
MSVertex::m_nRPC_M
int m_nRPC_M
Definition: MSVertex.h:61
MSVertex
Definition: MSVertex.h:13
MSVertex::m_nTGC_E
int m_nTGC_E
Definition: MSVertex.h:62
MSVertex::m_tracks
std::vector< const xAOD::TrackParticle * > m_tracks
Definition: MSVertex.h:55
str
std::string str(const MSVertex &a)
Definition: MSVertex.cxx:82
GeoPrimitives.h
MSVertex::m_nMDT_E
int m_nMDT_E
Definition: MSVertex.h:60
MSVertex::m_chi2prob
double m_chi2prob
Definition: MSVertex.h:57
MSVertex::getNRPC
int getNRPC() const
Definition: MSVertex.cxx:74
operator==
bool operator==(const MSVertex &a, const MSVertex &b)
Definition: MSVertex.cxx:95
MSVertex::~MSVertex
virtual ~MSVertex()
MSVertex::getNMDT
int getNMDT() const
Definition: MSVertex.cxx:73
MSVertex::getTracks
const std::vector< const xAOD::TrackParticle * > * getTracks() const
Definition: MSVertex.cxx:30
operator<<
MsgStream & operator<<(MsgStream &m, const MSVertex &a)
Definition: MSVertex.cxx:93
MSVertex::getNRPC_all
std::vector< int > getNRPC_all() const
Definition: MSVertex.cxx:78
MSVertex::setNRPC
void setNRPC(const int, const int, const int, const int, const int, const int)
Definition: MSVertex.cxx:54
MSVertex::m_nRPC_I
int m_nRPC_I
Definition: MSVertex.h:61
MSVertex::setAuthor
void setAuthor(const int)
Definition: MSVertex.cxx:32
MSVertex::m_author
unsigned int m_author
Definition: MSVertex.h:51
MSVertex::getNTGC
int getNTGC() const
Definition: MSVertex.cxx:75
MSVertex::m_nTGC_inwards
int m_nTGC_inwards
Definition: MSVertex.h:62
MSVertex::m_nRPC
int m_nRPC
Definition: MSVertex.h:61
MSVertex::MSVertex
MSVertex(const MSVertex &)=default
MSVertex::m_nTGC_M
int m_nTGC_M
Definition: MSVertex.h:62
MSVertex::m_nRPC_O
int m_nRPC_O
Definition: MSVertex.h:61
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
MSVertex::m_nMDT_inwards
int m_nMDT_inwards
Definition: MSVertex.h:60
MSVertex::m_nTGC_O
int m_nTGC_O
Definition: MSVertex.h:62
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TrackParticle.h
MSVertex::getNMDT_all
std::vector< int > getNMDT_all() const
Definition: MSVertex.cxx:77
a
TList * a
Definition: liststreamerinfos.cxx:10
MSVertex::MSVertex
MSVertex()=default
MSVertex::operator=
MSVertex & operator=(const MSVertex &msvx)=default
MSVertex::m_nRPC_inwards
int m_nRPC_inwards
Definition: MSVertex.h:61
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MSVertex::m_nMDT_M
int m_nMDT_M
Definition: MSVertex.h:60
MSVertex::m_nMDT_O
int m_nMDT_O
Definition: MSVertex.h:60
MSVertex::getAuthor
int getAuthor() const
Definition: MSVertex.cxx:34
MSVertex::getPosition
const Amg::Vector3D & getPosition() const
Definition: MSVertex.cxx:28