ATLAS Offline Software
Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef DCMATH_CLUSTER_H
6 #define DCMATH_CLUSTER_H
7 
8 #include <ostream>
9 #include <vector>
10 
11 #include "GaudiKernel/MsgStream.h"
14 
15 
16 namespace Muon {
17  class MuonClusterOnTrack;
18 }
19 namespace TrkDriftCircleMath {
20 
22  class Cluster {
23  public:
27  Cluster(const LocVec2D& pos, double err) : m_pos(pos), m_err(err) {}
28 
35  Cluster(const LocVec2D& pos, double err, ClusterId id,
37  unsigned int index) :
38  m_pos(pos), m_err(err), m_id(id), m_rot{rot}, m_idx{index} {}
39 
40  ~Cluster() = default;
41 
43  const LocVec2D& position() const { return m_pos; }
44 
46  const ClusterId& id() const { return m_id; }
47 
49  double x() const { return m_pos.x(); }
50 
52  double y() const { return m_pos.y(); }
53 
55  double err() const { return m_err; }
56 
58  const Muon::MuonClusterOnTrack* rot() const { return m_rot; }
60  unsigned int index() const { return m_idx; }
61 
62  private:
63  LocVec2D m_pos{0., 0.};
64  double m_err{0.};
67  unsigned int m_idx{0};
68  };
69 
70  typedef std::vector<Cluster> CLVec;
72  typedef CLVec::const_iterator CLCit;
73 } // namespace TrkDriftCircleMath
74 
75 std::ostream& operator<<(std::ostream& os, const TrkDriftCircleMath::Cluster& dc);
76 
77 MsgStream& operator<<(MsgStream& os, const TrkDriftCircleMath::Cluster& dc);
78 
79 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
operator<<
std::ostream & operator<<(std::ostream &os, const TrkDriftCircleMath::Cluster &dc)
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/src/Cluster.cxx:16
TrkDriftCircleMath::Cluster::index
unsigned int index() const
: Index w.r.t cluster vector
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:60
TrkDriftCircleMath::Cluster::m_err
double m_err
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:64
TrkDriftCircleMath::ClusterId
Definition: ClusterId.h:12
index
Definition: index.py:1
TrkDriftCircleMath::CLVec
std::vector< Cluster > CLVec
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:70
TrkDriftCircleMath
Function object to check whether two Segments are sub/super sets or different.
Definition: IMdtSegmentFinder.h:13
TrkDriftCircleMath::Cluster::m_rot
const Muon::MuonClusterOnTrack * m_rot
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:66
TrkDriftCircleMath::Cluster::err
double err() const
error on cluster position
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:55
TrkDriftCircleMath::LocVec2D::x
double x() const
Returns the x coordinate of the vector.
Definition: LocVec2D.h:27
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
TrkDriftCircleMath::Cluster::~Cluster
~Cluster()=default
TrkDriftCircleMath::LocVec2D
Implementation of 2 dimensional vector class.
Definition: LocVec2D.h:16
TrkDriftCircleMath::CLIt
CLVec::iterator CLIt
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:71
TrkDriftCircleMath::Cluster::m_pos
LocVec2D m_pos
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:63
TrkDriftCircleMath::Cluster::y
double y() const
direct access to y coordinate of cluster
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:52
TrkDriftCircleMath::LocVec2D::y
double y() const
Returns the y coordinate of the vector.
Definition: LocVec2D.h:29
ClusterId.h
TrkDriftCircleMath::Cluster::x
double x() const
direct access to local x coordinate of cluster
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:49
TrkDriftCircleMath::CLCit
CLVec::const_iterator CLCit
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:72
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
TrkDriftCircleMath::Cluster
class representing a cluster meaurement
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:22
TrkDriftCircleMath::Cluster::m_idx
unsigned int m_idx
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:67
TrkDriftCircleMath::Cluster::m_id
ClusterId m_id
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:65
TrkDriftCircleMath::Cluster::rot
const Muon::MuonClusterOnTrack * rot() const
index of cluster in input vector, use to link back the cluster to the MuonClusterOnTrack
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:58
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
TrkDriftCircleMath::Cluster::position
const LocVec2D & position() const
local position of the cluster
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:43
TrkDriftCircleMath::Cluster::id
const ClusterId & id() const
cluster identifier
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:46
TrkDriftCircleMath::Cluster::Cluster
Cluster(const LocVec2D &pos, double err, ClusterId id, const Muon::MuonClusterOnTrack *rot, unsigned int index)
full constructor:
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:35
LocVec2D.h
TrkDriftCircleMath::Cluster::Cluster
Cluster(const LocVec2D &pos, double err)
minimal constructor:
Definition: Tracking/TrkUtilityPackages/TrkDriftCircleMath/TrkDriftCircleMath/Cluster.h:27
Muon::MuonClusterOnTrack
Base class for Muon cluster RIO_OnTracks.
Definition: MuonClusterOnTrack.h:34