Redo the segmentation after the simulation has ended.
More...
#include <RedoSegmentation.h>
|
| uint64_t | volumeID (uint64_t aCellId) const |
| | Get ID of the volume that contains the cell.
|
| |
|
| ServiceHandle< IGeoSvc > | m_geoSvc |
| | Pointer to the geometry service.
|
| |
| k4FWCore::DataHandle< edm4hep::CalorimeterHitCollection > | m_inHits |
| | Handle for the EDM positioned hits to be read.
|
| |
| k4FWCore::DataHandle< edm4hep::SimCalorimeterHitCollection > | m_outHits |
| | Handle for the EDM hits to be written.
|
| |
| k4FWCore::MetaDataHandle< std::string > | m_outHitsCellIDEncoding |
| | Handle for the output hits cell id encoding.
|
| |
| dd4hep::DDSegmentation::Segmentation * | m_segmentation |
| | New segmentation.
|
| |
| int | m_segmentationType |
| |
| Gaudi::Property< std::string > | m_oldReadoutName |
| | Name of the detector readout used in simulation.
|
| |
| dd4hep::DDSegmentation::Segmentation * | m_oldSegmentation |
| | Old segmentation.
|
| |
| int | m_oldSegmentationType |
| |
| Gaudi::Property< std::string > | m_newReadoutName {this, "newReadoutName", "", "Name of the new detector readout"} |
| | Name of the new detector readout.
|
| |
| dd4hep::DDSegmentation::BitFieldCoder * | m_oldDecoder |
| | Old bitfield decoder.
|
| |
| Gaudi::Property< std::vector< std::string > > | m_oldIdentifiers |
| | Segmentation fields that are going to be replaced by the new segmentation.
|
| |
| std::vector< std::string > | m_detectorIdentifiers |
| | Detector fields that are going to be rewritten.
|
| |
| Gaudi::Property< uint > | m_debugPrint {this, "debugPrint", 10, "Limit of debug printing"} |
| | Limit of debug printing.
|
| |
Redo the segmentation after the simulation has ended.
True positions of the hits are required! New readout (with new segmentation) has to be added to <readouts> tag in the detector description xml. Cell IDs are rewritten from the old readout (\b oldReadoutName) to the new readout (\b newReadoutName). Names of the old segmentation fields need to be passed as a vector 'oldSegmentationIds'. Those fields are replaced by the new segmentation.
For an example see Detector/DetComponents/tests/options/redoSegmentationXYZ.py and Detector/DetComponents/tests/options/redoSegmentationRPhi.py.
- Author
- Anna Zaborowska
◆ RedoSegmentation()
| RedoSegmentation::RedoSegmentation |
( |
const std::string & | aName, |
|
|
ISvcLocator * | aSvcLoc ) |
|
explicit |
◆ ~RedoSegmentation()
| RedoSegmentation::~RedoSegmentation |
( |
| ) |
|
|
virtual |
◆ execute()
| StatusCode RedoSegmentation::execute |
( |
const EventContext & | | ) |
const |
|
finalvirtual |
Execute.
- Returns
- status code
◆ finalize()
| StatusCode RedoSegmentation::finalize |
( |
| ) |
|
|
finalvirtual |
Finalize.
- Returns
- status code
◆ initialize()
| StatusCode RedoSegmentation::initialize |
( |
| ) |
|
|
finalvirtual |
Initialize.
- Returns
- status code
◆ volumeID()
| uint64_t RedoSegmentation::volumeID |
( |
uint64_t | aCellId | ) |
const |
|
private |
Get ID of the volume that contains the cell.
- Parameters
-
| [in] | aCellId | ID of the cell. |
- Returns
- ID of the volume.
◆ m_debugPrint
| Gaudi::Property<uint> RedoSegmentation::m_debugPrint {this, "debugPrint", 10, "Limit of debug printing"} |
|
private |
◆ m_detectorIdentifiers
| std::vector<std::string> RedoSegmentation::m_detectorIdentifiers |
|
private |
Detector fields that are going to be rewritten.
◆ m_geoSvc
| ServiceHandle<IGeoSvc> RedoSegmentation::m_geoSvc |
|
private |
Pointer to the geometry service.
◆ m_inHits
| k4FWCore::DataHandle<edm4hep::CalorimeterHitCollection> RedoSegmentation::m_inHits |
|
mutableprivate |
Initial value:{"hits/caloInHits", Gaudi::DataHandle::Reader,
this}
Handle for the EDM positioned hits to be read.
◆ m_newReadoutName
| Gaudi::Property<std::string> RedoSegmentation::m_newReadoutName {this, "newReadoutName", "", "Name of the new detector readout"} |
|
private |
Name of the new detector readout.
◆ m_oldDecoder
| dd4hep::DDSegmentation::BitFieldCoder* RedoSegmentation::m_oldDecoder |
|
private |
◆ m_oldIdentifiers
| Gaudi::Property<std::vector<std::string> > RedoSegmentation::m_oldIdentifiers |
|
private |
Initial value:{
this, "oldSegmentationIds", {}, "Segmentation fields that are going to be replaced by the new segmentation"}
Segmentation fields that are going to be replaced by the new segmentation.
◆ m_oldReadoutName
| Gaudi::Property<std::string> RedoSegmentation::m_oldReadoutName |
|
private |
Initial value:{this, "oldReadoutName", "",
"Name of the detector readout used in simulation"}
Name of the detector readout used in simulation.
◆ m_oldSegmentation
| dd4hep::DDSegmentation::Segmentation* RedoSegmentation::m_oldSegmentation |
|
private |
◆ m_oldSegmentationType
| int RedoSegmentation::m_oldSegmentationType |
|
private |
◆ m_outHits
| k4FWCore::DataHandle<edm4hep::SimCalorimeterHitCollection> RedoSegmentation::m_outHits |
|
mutableprivate |
Initial value:{"hits/caloOutHits",
Gaudi::DataHandle::Writer, this}
Handle for the EDM hits to be written.
◆ m_outHitsCellIDEncoding
| k4FWCore::MetaDataHandle<std::string> RedoSegmentation::m_outHitsCellIDEncoding |
|
private |
Initial value:
Gaudi::DataHandle::Writer}
k4FWCore::DataHandle< edm4hep::SimCalorimeterHitCollection > m_outHits
Handle for the EDM hits to be written.
Definition RedoSegmentation.h:66
Handle for the output hits cell id encoding.
◆ m_segmentation
| dd4hep::DDSegmentation::Segmentation* RedoSegmentation::m_segmentation |
|
private |
◆ m_segmentationType
| int RedoSegmentation::m_segmentationType |
|
private |
The documentation for this class was generated from the following files: