HerdSoftware  0.1.1
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
16 #include "dataobjects/Line2D.h"
21 
22 #ifdef HS_USE_ROOT
23 #include "Rtypes.h"
24 #endif
25 
26 namespace Herd {
27 
34 class Track2D {
35 public:
37  Track2D() : m_line{} {};
38 
45  Track2D(Line2D line) : m_line(std::move(line)){};
46 
53  Track2D(const StkClustersColl &clusterColl) : m_stkClusterColl{clusterColl} {};
54 
61  Track2D(const ScdClustersColl &clusterColl) : m_scdClusterColl{clusterColl} {};
62 
69  Track2D(const FitClustersColl &clusterColl) : m_fitClusterColl{clusterColl} {};
70 
72  virtual ~Track2D() = default;
73 
80  void AddClusters(const StkClustersColl &clusterColl);
81 
88  void AddClusters(const ScdClustersColl &clusterColl);
89 
96  void AddClusters(const FitClustersColl &clusterColl);
97 
102  unsigned int NClusters() const;
103 
108  const Herd::Line2D &GetLine() const { return m_line; }
109 
115 
121 
127 
132  float ClusterResidual(const Cluster &cluster, const TrackingDetectorGeoParams &geoParams) const;
133 
139 
145 
151 
152 private:
157 
158 #ifdef HS_USE_ROOT
159  ClassDef(Track2D, 1)
160 #endif
161 };
162 
163 } // namespace Herd
164 
165 #endif /* HERD_TRACK_H_ */
StkClustersColl m_stkClusterColl
Definition: Track2D.h:154
Herd::Line2D m_line
Definition: Track2D.h:153
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
void AddClusters(const StkClustersColl &clusterColl)
Add STK clusters to the current collection.
Definition: Track2D.cpp:13
SidesArray< std::vector< std::vector< float > > > GetScdResiduals(const ScdGeoParamsColl &scdGeoParamsColl) const
Returns the residual of the track w.r.t. all SCD Clusters.
Definition: Track2D.cpp:130
const FitClustersColl & GetFitClusters() const
Returns the FIT clusters associated to the track.
Definition: Track2D.h:126
Tracker cluster object for transient data model.
Definition: Cluster.h:30
virtual ~Track2D()=default
Virtual destructor.
FitClustersColl m_fitClusterColl
Definition: Track2D.h:156
float ClusterResidual(const Cluster &cluster, const TrackingDetectorGeoParams &geoParams) const
Returns the residual of the track w.r.t. a given Cluster.
Definition: Track2D.cpp:64
const StkClustersColl & GetStkClusters() const
Returns the STK clusters associated to the track.
Definition: Track2D.h:114
Track2D(const ScdClustersColl &clusterColl)
Constructor.
Definition: Track2D.h:61
SidesArray< std::vector< std::vector< float > > > GetFitResiduals(const FitGeoParamsColl &fitGeoParamsColl) const
Returns the residual of the track w.r.t. all FIT Clusters.
Definition: Track2D.cpp:151
Class describing a line in the 2D space.
Definition: Line2D.h:32
SidesArray< std::vector< std::vector< float > > > GetStkResiduals(const StkGeoParamsColl &stkGeoParamsColl) const
Returns the residual of the track w.r.t. all STK Clusters.
Definition: Track2D.cpp:109
Track2D()
Default constructor.
Definition: Track2D.h:37
Track2D(const FitClustersColl &clusterColl)
Constructor.
Definition: Track2D.h:69
Track2D(Line2D line)
Constructor.
Definition: Track2D.h:45
An array that accepts side as subscripts.
Definition: SidesArray.h:72
Class describing a track.
Definition: Track2D.h:34
unsigned int NClusters() const
Returns the total number of clusters associated to the track.
Definition: Track2D.cpp:172
Collection of containers for the clusters of all the FIT detectors.
Definition: FitClustersColl.h:23
ScdClustersColl m_scdClusterColl
Definition: Track2D.h:155
const Herd::Line2D & GetLine() const
Returns the line associated to the track.
Definition: Track2D.h:108
Track2D(const StkClustersColl &clusterColl)
Constructor.
Definition: Track2D.h:53
Base data structure for single tracking detector layer geometry parameters.
Definition: TrackingDetectorGeoParams.h:28
const ScdClustersColl & GetScdClusters() const
Returns the SCD clusters associated to the track.
Definition: Track2D.h:120
Collection of containers for the clusters of all the SCD detectors.
Definition: ScdClustersColl.h:24
Collection of containers for the clusters of all the STK detectors.
Definition: StkClustersColl.h:24