k4SimGeant4
Loading...
Searching...
No Matches
MergeCells Class Reference

Merge cells for one field of the segmentation. More...

#include <MergeCells.h>

Inheritance diagram for MergeCells:
Collaboration diagram for MergeCells:

Public Member Functions

 MergeCells (const std::string &, ISvcLocator *)
 
virtual ~MergeCells ()
 
virtual StatusCode initialize () final
 Initialize.
 
virtual StatusCode execute (const EventContext &) const final
 Execute.
 
virtual StatusCode finalize () final
 Finalize.
 

Private Attributes

ServiceHandle< IGeoSvc > m_geoSvc
 Pointer to the geometry service.
 
DataHandle< edm4hep::CalorimeterHitCollection > m_inHits {"hits/caloInHits", Gaudi::DataHandle::Reader, this}
 Handle for the EDM Hits to be read.
 
DataHandle< edm4hep::CalorimeterHitCollection > m_outHits {"hits/caloOutHits", Gaudi::DataHandle::Writer, this}
 Handle for the EDM Hits to be written.
 
dd4hep::IDDescriptor m_descriptor
 
Gaudi::Property< std::string > m_readoutName {this, "readout", "", "Name of the detector readout"}
 Name of the detector readout.
 
Gaudi::Property< std::string > m_idToMerge {this, "identifier", "", "Identifier to be merged"}
 Identifier to be merged.
 
Gaudi::Property< uint > m_numToMerge {this, "merge", 0, "Number of adjacent cells to be merged"}
 Number of adjacent cells to be merged.
 
Gaudi::Property< uint > m_debugPrint {this, "debugPrint", 10, "Limit of debug printing"}
 Limit of debug printing.
 

Detailed Description

Merge cells for one field of the segmentation.

Merging is performed on a collection of hits and as a result the cellID is changed. GeoSvc is required (to access the detector readout). Name of the field to be merged is defined be property 'identifier'. Property 'merge' describes how many adjacent cells should be merged. If the identifier describes an unsigned field, the number of cells to be merged can be any number. If the identifier describes a signed field, however, the number of cells to be merged need to be an odd number (to keep the centre of the central bin in 0). For an example see Detector/DetComponents/tests/options/mergeCells.py

Author
Anna Zaborowska

Constructor & Destructor Documentation

◆ MergeCells()

MergeCells::MergeCells ( const std::string & aName,
ISvcLocator * aSvcLoc )
explicit

◆ ~MergeCells()

MergeCells::~MergeCells ( )
virtual

Member Function Documentation

◆ execute()

StatusCode MergeCells::execute ( const EventContext & ) const
finalvirtual

Execute.

Returns
status code

◆ finalize()

StatusCode MergeCells::finalize ( )
finalvirtual

Finalize.

Returns
status code

◆ initialize()

StatusCode MergeCells::initialize ( )
finalvirtual

Initialize.

Returns
status code

Member Data Documentation

◆ m_debugPrint

Gaudi::Property<uint> MergeCells::m_debugPrint {this, "debugPrint", 10, "Limit of debug printing"}
private

Limit of debug printing.

◆ m_descriptor

dd4hep::IDDescriptor MergeCells::m_descriptor
private

◆ m_geoSvc

ServiceHandle<IGeoSvc> MergeCells::m_geoSvc
private

Pointer to the geometry service.

◆ m_idToMerge

Gaudi::Property<std::string> MergeCells::m_idToMerge {this, "identifier", "", "Identifier to be merged"}
private

Identifier to be merged.

◆ m_inHits

DataHandle<edm4hep::CalorimeterHitCollection> MergeCells::m_inHits {"hits/caloInHits", Gaudi::DataHandle::Reader, this}
mutableprivate

Handle for the EDM Hits to be read.

◆ m_numToMerge

Gaudi::Property<uint> MergeCells::m_numToMerge {this, "merge", 0, "Number of adjacent cells to be merged"}
private

Number of adjacent cells to be merged.

◆ m_outHits

DataHandle<edm4hep::CalorimeterHitCollection> MergeCells::m_outHits {"hits/caloOutHits", Gaudi::DataHandle::Writer, this}
mutableprivate

Handle for the EDM Hits to be written.

◆ m_readoutName

Gaudi::Property<std::string> MergeCells::m_readoutName {this, "readout", "", "Name of the detector readout"}
private

Name of the detector readout.


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