HerdSoftware  0.1.1
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Herd::SiliconDetectorClusteringAlgo Class Reference

Algorithm that clusters the Monte Carlo Silicon detector hits. algorithms/clustering/SiliconDetectorClusteringAlgo.h. More...

#include <SiliconDetectorClusteringAlgo.h>

Inheritance diagram for Herd::SiliconDetectorClusteringAlgo:
Herd::ScdClusteringAlgo Herd::StkClusteringAlgo

Public Member Functions

 SiliconDetectorClusteringAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize () override
 Initialization of the algorithm. More...
 
bool Process () override
 Process a single event. More...
 
std::vector< std::string > FreeObjects (const std::vector< std::string > &objs, Memory::Status memStatus) override
 Free the memory of unneeded objects. More...
 

Protected Attributes

std::string _detName
 Name of the detector, e.g "stk". More...
 

Private Member Functions

void _Clusterize (SiliconDetectorHits &hits, const std::vector< SiliconDetectorGeoParams > &geoParams, SiliconDetectorClusters &clusters)
 

Private Attributes

SiliconDetectorClustersColl _silicondetectorClustersColl
 
observer_ptr< SiliconDetectorGeoParamsColl_silicondetectorGeoParamsColl
 
observer_ptr< SiliconDetectorChannelGeoInfoColl_silicondetectorChannelGeoInfoColl
 
StorePtr _evStore
 
StorePtr _globStore
 

Detailed Description

Algorithm that clusters the Monte Carlo Silicon detector hits. algorithms/clustering/SiliconDetectorClusteringAlgo.h.

This algorithm creates clusters starting from the strip hits in the Silicon detector. A cluster is defined as a group of contiguous strips above a given S/N level, including at least one strip (the seed strip) above a given, higher S/N level.

name type store optional description
[detName]HitsCollMC SiliconDetectorHitsColl evStore no Hits in the Silicon detector.

Needed global objects:

name type store optional description
[detName]GeoParams SiliconDetectorGeoParamsColl globStore no Geometric parameters of the silicon detector.
[detName]ChannelGeoInfoColl SiliconDetectorChannelGeoInfoColl globStore yes Readout channels geometric info of the silicon detector.

Produced event objects:

name type store description
[detName]ClustersCollMC SiliconDetectorClustersColl evStore The clusters of the Silicon detector.

Parameters:

name type default value description
detName string "" The detector name (possible values: stk, scd).

Constructor & Destructor Documentation

◆ SiliconDetectorClusteringAlgo()

Herd::SiliconDetectorClusteringAlgo::SiliconDetectorClusteringAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ _Clusterize()

void Herd::SiliconDetectorClusteringAlgo::_Clusterize ( SiliconDetectorHits hits,
const std::vector< SiliconDetectorGeoParams > &  geoParams,
SiliconDetectorClusters clusters 
)
private

◆ FreeObjects()

std::vector< std::string > Herd::SiliconDetectorClusteringAlgo::FreeObjects ( const std::vector< std::string > &  objs,
Memory::Status  memStatus 
)
override

Free the memory of unneeded objects.

Currently this method frees the memory of the clusters if memStatus is EXHAUSTED.

Parameters
objsThe list of objects to be freed.
memStatusThe current memory occupation status.
Returns
a list of freed objects.

◆ Initialize()

bool Herd::SiliconDetectorClusteringAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::SiliconDetectorClusteringAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _detName

std::string Herd::SiliconDetectorClusteringAlgo::_detName
protected

Name of the detector, e.g "stk".

◆ _evStore

StorePtr Herd::SiliconDetectorClusteringAlgo::_evStore
private

◆ _globStore

StorePtr Herd::SiliconDetectorClusteringAlgo::_globStore
private

◆ _silicondetectorChannelGeoInfoColl

observer_ptr<SiliconDetectorChannelGeoInfoColl> Herd::SiliconDetectorClusteringAlgo::_silicondetectorChannelGeoInfoColl
private

◆ _silicondetectorClustersColl

SiliconDetectorClustersColl Herd::SiliconDetectorClusteringAlgo::_silicondetectorClustersColl
private

◆ _silicondetectorGeoParamsColl

observer_ptr<SiliconDetectorGeoParamsColl> Herd::SiliconDetectorClusteringAlgo::_silicondetectorGeoParamsColl
private

The documentation for this class was generated from the following files: