HerdSoftware  0.4.0
Track2D.h
Go to the documentation of this file.
1 /*
2  * Track2D.h
3  *
4  * Created on: 18 Dec 2018
5  * Author: Valerio Formato
6  */
7 
10 #ifndef HERD_TRACK2D_H_
11 #define HERD_TRACK2D_H_
12 
13 // HerdSoftware headers
19 
20 #ifdef HS_USE_ROOT
21 #include "Rtypes.h"
22 #endif
23 
24 namespace Herd {
25 
32 class Track2D {
33 public:
35  Track2D() : m_line{} {};
36 
43  Track2D(Line2D line) : m_line(std::move(line)){};
44 
51  Track2D(const ScdClustersColl &clusterColl) : m_scdClusterColl{clusterColl} {};
52 
59  Track2D(const FitClustersColl &clusterColl) : m_fitClusterColl{clusterColl} {};
60 
62  virtual ~Track2D() = default;
63 
70  void AddClusters(const ScdClustersColl &clusterColl);
71 
78  void AddClusters(const FitClustersColl &clusterColl);
79 
84  [[nodiscard]] unsigned int NClusters() const;
85 
90  [[nodiscard]] const Herd::Line2D &Line() const { return m_line; }
91 
96  [[nodiscard]] const ScdClustersColl &ScdClusters() const { return m_scdClusterColl; }
97 
102  [[nodiscard]] const FitClustersColl &FitClusters() const { return m_fitClusterColl; }
103 
108  [[nodiscard]] float ClusterResidual(const Cluster &cluster, const TrackingDetectorGeoParams &geoParams) const;
109 
115  ScdResiduals(const ScdGeoParamsColl &scdGeoParamsColl) const;
116 
122  FitResiduals(const FitGeoParamsColl &fitGeoParamsColl) const;
123 
124 private:
128 
129 #ifdef HS_USE_ROOT
130  ClassDef(Track2D, 1)
131 #endif
132 };
133 
134 } // namespace Herd
135 
136 #endif /* HERD_TRACK_H_ */
Herd::Track2D::ScdResiduals
SidesArray< std::vector< std::vector< float > > > ScdResiduals(const ScdGeoParamsColl &scdGeoParamsColl) const
Returns the residual of the track w.r.t. all SCD Clusters.
Definition: Track2D.cpp:92
Herd::Track2D::m_fitClusterColl
FitClustersColl m_fitClusterColl
Definition: Track2D.h:127
Herd::Track2D::FitResiduals
SidesArray< std::vector< std::vector< float > > > FitResiduals(const FitGeoParamsColl &fitGeoParamsColl) const
Returns the residual of the track w.r.t. all FIT Clusters.
Definition: Track2D.cpp:114
Herd::TrackingDetectorGeoParams
Base data structure for single tracking detector layer geometry parameters.
Definition: TrackingDetectorGeoParams.h:31
Herd::FitClustersColl
Collection of containers for the clusters of all the FIT detectors.
Definition: FitClustersColl.h:23
Herd::Track2D::ClusterResidual
float ClusterResidual(const Cluster &cluster, const TrackingDetectorGeoParams &geoParams) const
Returns the residual of the track w.r.t. a given Cluster.
Definition: Track2D.cpp:47
ScdClustersColl
Collection of containers for the SCD.
FitGeoParamsColl.h
ScdClustersColl.h
Herd::Track2D::FitClusters
const FitClustersColl & FitClusters() const
Returns the FIT clusters associated to the track.
Definition: Track2D.h:102
Herd::Cluster
Tracker cluster object for transient data model.
Definition: Cluster.h:30
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::Track2D::Track2D
Track2D()
Default constructor.
Definition: Track2D.h:35
Herd::Track2D::AddClusters
void AddClusters(const ScdClustersColl &clusterColl)
Add SCD clusters to the current collection.
Definition: Track2D.cpp:13
Herd::Track2D::m_line
Herd::Line2D m_line
Definition: Track2D.h:125
Herd::Track2D::Line
const Herd::Line2D & Line() const
Returns the line associated to the track.
Definition: Track2D.h:90
ScdGeoParamsColl.h
Line2D.h
Herd::Track2D::Track2D
Track2D(const ScdClustersColl &clusterColl)
Constructor.
Definition: Track2D.h:51
Herd::Track2D::Track2D
Track2D(const FitClustersColl &clusterColl)
Constructor.
Definition: Track2D.h:59
Herd::Track2D::Track2D
Track2D(Line2D line)
Constructor.
Definition: Track2D.h:43
Herd::Track2D::~Track2D
virtual ~Track2D()=default
Virtual destructor
Herd::Line2D
Class describing a line in the 2D space.
Definition: Line2D.h:35
Herd::Track2D::m_scdClusterColl
ScdClustersColl m_scdClusterColl
Definition: Track2D.h:126
FitClustersColl.h
Herd::Track2D
Class describing a track.
Definition: Track2D.h:32
Herd::Track2D::ScdClusters
const ScdClustersColl & ScdClusters() const
Returns the SCD clusters associated to the track.
Definition: Track2D.h:96
Herd::SidesArray< ScdClusters >
Herd::Track2D::NClusters
unsigned int NClusters() const
Returns the total number of clusters associated to the track.
Definition: Track2D.cpp:136