HerdSoftware  0.4.0
ScdClusteringAlgo.h
Go to the documentation of this file.
1 /*
2  * ScdClusteringAlgo.h
3  *
4  * Created on: 5 Dec 2018
5  * Author: Nicola Mori
6  */
7 
8 #ifndef HERD_SCDCLUSTERINGALGO_H_
9 #define HERD_SCDCLUSTERINGALGO_H_
10 
11 // HerdSoftware headers
17 
18 // EventAnalysis headers
19 #include "algorithm/Algorithm.h"
20 
21 namespace Herd {
22 
23 // clang-format off
53 // clang-format on
54 class ScdClusteringAlgo : public EA::Algorithm {
55 public:
60  ScdClusteringAlgo(const std::string &name);
61 
66  bool Initialize() override;
67 
72  bool Process() override;
73 
82  std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, EA::Memory::Status memStatus) override;
83 
84 private:
85  // Algorithm parameters
86  // float _snThreshold; **TO BE RESTORED**
87  // float _snSeed; **TO BE RESTORED**
88 
89  // Class members
91  EA::observer_ptr<ScdGeoParamsColl> m_silicondetectorGeoParamsColl;
92  EA::observer_ptr<ScdChannelGeoInfoColl> m_silicondetectorChannelGeoInfoColl;
93  EA::StorePtr m_evStore, m_globStore;
94 
95  void _Clusterize(ScdHits &hits, const std::vector<ScdGeoParams> &geoParams, ScdClusters &clusters);
96 };
97 
98 } // namespace Herd
99 
100 #endif /* HERD_SCDCLUSTERINGALGO_H_ */
ScdGeoParams.h
ScdClusters
Container for the clusters of a single Silicon detector.
Herd::ScdClusteringAlgo::FreeObjects
std::vector< std::string > FreeObjects(const std::vector< std::string > &objs, EA::Memory::Status memStatus) override
Free the memory of unneeded objects.
Definition: ScdClusteringAlgo.cpp:96
Herd::ScdClusteringAlgo::ScdClusteringAlgo
ScdClusteringAlgo(const std::string &name)
Constructor.
Definition: ScdClusteringAlgo.cpp:20
ScdClustersColl.h
ScdHits.h
Herd::ScdClusteringAlgo::m_silicondetectorChannelGeoInfoColl
EA::observer_ptr< ScdChannelGeoInfoColl > m_silicondetectorChannelGeoInfoColl
Definition: ScdClusteringAlgo.h:92
ScdChannelGeoInfoColl.h
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::ScdClusteringAlgo
Algorithm that clusters the Monte Carlo Silicon detector hits.
Definition: ScdClusteringAlgo.h:54
Herd::ScdClusteringAlgo::m_evStore
EA::StorePtr m_evStore
Definition: ScdClusteringAlgo.h:93
Herd::ScdClusteringAlgo::m_silicondetectorClustersColl
ScdClustersColl m_silicondetectorClustersColl
Definition: ScdClusteringAlgo.h:90
ScdGeoParamsColl.h
Herd::ScdClusteringAlgo::Process
bool Process() override
Process a single event.
Definition: ScdClusteringAlgo.cpp:59
Herd::ScdClusteringAlgo::_Clusterize
void _Clusterize(ScdHits &hits, const std::vector< ScdGeoParams > &geoParams, ScdClusters &clusters)
Definition: ScdClusteringAlgo.cpp:110
Herd::ScdClusteringAlgo::m_globStore
EA::StorePtr m_globStore
Definition: ScdClusteringAlgo.h:93
ScdHits
Container for the hits of a single SCD.
Herd::SidesArray< ScdClusters >
Herd::ScdClusteringAlgo::m_silicondetectorGeoParamsColl
EA::observer_ptr< ScdGeoParamsColl > m_silicondetectorGeoParamsColl
Definition: ScdClusteringAlgo.h:91
Herd::ScdClusteringAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: ScdClusteringAlgo.cpp:38