HerdSoftware  0.4.0
Track.h
Go to the documentation of this file.
1 /*
2  * Track.h
3  *
4  * Created on: 19 Oct 2018
5  * Author: Nicola Mori
6  */
7 
10 #ifndef HERD_TRACK_H_
11 #define HERD_TRACK_H_
12 
13 // HerdSoftware headers
22 
23 #ifdef HS_USE_ROOT
24 #include "Rtypes.h"
25 #endif
26 
27 namespace Herd {
28 
42 class Track {
43 public:
46 
55 
69  Track(const Track2D &proj1, RefFrame::View view1, const Track2D &proj2, RefFrame::View view2);
70 
72  virtual ~Track() = default;
73 
78  [[nodiscard]] const Herd::Line &Line() const { return m_line; }
79 
84  void SetLine(Herd::Line line) { m_line = std::move(line); }
85 
97  void SetCaloHits(CaloHits hits, std::string objName = "", size_t index = Herd::defaultValue<size_t>);
98 
105  void AddClusters(const ScdClustersColl &clusterColl);
106 
113  void AddClusters(const FitClustersColl &clusterColl);
114 
119  void SetCaloClusterIndex(size_t index) { m_caloClustersIndex = index; }
120 
128  void SetCaloDataObjName(std::string name) { m_caloDataObjName = std::move(name); }
129 
134  [[nodiscard]] const ScdClustersColl &ScdClusters() const { return m_scdClusterColl; }
135 
140  [[nodiscard]] const FitClustersColl &FitClusters() const { return m_fitClusterColl; }
141 
146  [[nodiscard]] const Herd::CaloHits &CaloHits() const { return m_caloHits; }
147 
162  [[nodiscard]] size_t CaloClusterIndex() const { return m_caloClustersIndex; }
163 
179  [[nodiscard]] const std::string &CaloDataObjName() const { return m_caloDataObjName; }
180 
181 private:
185 
187 
189  std::string m_caloDataObjName;
190 
191 #ifdef HS_USE_ROOT
192  ClassDef(Track, 2)
193 #endif
194 };
195 
196 } // namespace Herd
197 
198 #endif /* HERD_TRACK_H_ */
Herd::Track::SetCaloClusterIndex
void SetCaloClusterIndex(size_t index)
Sets the index of the CALO hits cluster used to build the track.
Definition: Track.h:119
Herd::Track
Class describing a track.
Definition: Track.h:42
Herd::Track::CaloClusterIndex
size_t CaloClusterIndex() const
Returns the index of the hits cluster used to build the axis.
Definition: Track.h:162
Point.h
Herd::FitClustersColl
Collection of containers for the clusters of all the FIT detectors.
Definition: FitClustersColl.h:23
Herd::Track::m_caloDataObjName
std::string m_caloDataObjName
Definition: Track.h:189
Herd::Track::CaloHits
const Herd::CaloHits & CaloHits() const
Returns the calorimeter hits associated to the track.
Definition: Track.h:146
FitGeoParamsColl.h
ScdClustersColl.h
DEFAULT_INIT
#define DEFAULT_INIT(x)
Definition: DefaultValues.h:23
Herd::Track::SetLine
void SetLine(Herd::Line line)
Returns the line associated to the track.
Definition: Track.h:84
Herd::Line
Class describing a line in the 3D space.
Definition: Line.h:37
Herd::Track::m_caloHits
Herd::CaloHits m_caloHits
Definition: Track.h:182
Herd::Track::~Track
virtual ~Track()=default
Virtual destructor
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Track2D.h
Herd::RefFrame::View
View
Aliases for the three 2D projection planes.
Definition: RefFrame.h:91
Herd::Track::m_caloClustersIndex
size_t m_caloClustersIndex
Definition: Track.h:188
Line.h
CaloHits
Container for the hits of a single CALO detector.
Herd::Track::m_fitClusterColl
FitClustersColl m_fitClusterColl
Definition: Track.h:184
Herd::Track::AddClusters
void AddClusters(const ScdClustersColl &clusterColl)
Add SCD clusters to the current collection.
Definition: Track.cpp:47
Herd::Track::m_scdClusterColl
ScdClustersColl m_scdClusterColl
Definition: Track.h:183
Herd::Track::ScdClusters
const ScdClustersColl & ScdClusters() const
Returns the SCD clusters associated to the track.
Definition: Track.h:134
ScdGeoParamsColl.h
Herd::Track::CaloDataObjName
const std::string & CaloDataObjName() const
Returns the name of the CALO data object used to build the track was taken.
Definition: Track.h:179
CaloHits.h
Herd::Track::Line
const Herd::Line & Line() const
Returns the line associated to the track.
Definition: Track.h:78
Herd::Track::m_line
Herd::Line m_line
Definition: Track.h:186
Herd::Track::SetCaloDataObjName
void SetCaloDataObjName(std::string name)
Sets the name of the CALO data object from which the cluster used to build the track was taken.
Definition: Track.h:128
Herd::Track::FitClusters
const FitClustersColl & FitClusters() const
Returns the FIT clusters associated to the track.
Definition: Track.h:140
Herd::CaloHits
std::vector< Hit > CaloHits
Definition: CaloHits.h:21
Herd::Track::Track
Track()
Default constructor.
Definition: Track.h:45
FitClustersColl.h
Herd::Track2D
Class describing a track.
Definition: Track2D.h:32
Herd::Track::Track
Track(Herd::Line line)
Constructor.
Definition: Track.h:53
Herd::SidesArray< ScdClusters >
Herd::Track::SetCaloHits
void SetCaloHits(CaloHits hits, std::string objName="", size_t index=Herd::defaultValue< size_t >)
Set CALO hits.
Definition: Track.cpp:41