|
LDMX Software
|
Class encapsulating parameters for configuring a processor. More...
#include <Parameters.h>
Public Member Functions | |
| template<typename T > | |
| void | add (const std::string &name, const T &value) |
| Add a parameter to the parameter list. | |
| template<typename T > | |
| void | addParameter (const std::string &name, const T &value) |
| bool | exists (const std::string &name) const |
| Check to see if a parameter exists. | |
| template<typename T > | |
| const T & | get (const std::string &name) const |
| Retrieve the parameter of the given name. | |
| template<typename T > | |
| const T & | getParameter (const std::string &name) const |
| template<typename T > | |
| const T & | get (const std::string &name, const T &def) const |
| Retrieve a parameter with a default specified. | |
| template<typename T > | |
| const T & | getParameter (const std::string &name, const T &def) const |
| std::vector< std::string > | keys () const |
| Get a list of the keys available. | |
Private Attributes | |
| std::map< std::string, std::any > | parameters_ |
| container holding parameter names and their values | |
Class encapsulating parameters for configuring a processor.
The storage of arbitrary parameters recursively is done using a map from parameter names (std::string) to parameter values. The values are stored in std::any which allows the user to store any object they wish in a memory-safe environment.
Definition at line 29 of file Parameters.h.
|
inline |
Add a parameter to the parameter list.
If the parameter already exists in the list, throw an exception.
| [in] | name | Name of the parameter. |
| [in] | value | The value of the parameter. |
| T | type of parameter being added |
| Exception | if a parameter by that name already exist in the list. |
Definition at line 42 of file Parameters.h.
References exists(), and parameters_.
Referenced by framework::config::getMembers().
|
inline |
Definition at line 53 of file Parameters.h.
|
inline |
Check to see if a parameter exists.
| [in] | name | name of parameter to check |
Definition at line 63 of file Parameters.h.
References parameters_.
Referenced by add(), get(), get(), and hcal::HcalGeometryProvider::getCondition().
|
inline |
Retrieve the parameter of the given name.
| Exception | if parameter of the given name isn't found |
| Exception | if parameter is found but not of the input type |
| T | the data type to cast the parameter to. |
| [in] | name | the name of the parameter value to retrieve. |
Definition at line 78 of file Parameters.h.
References exists(), and parameters_.
Referenced by simcore::APrimePhysics::APrimePhysics(), simcore::Simulator::beforeNewRun(), dqm::DarkBremInteraction::configure(), dqm::EcalClusterAnalyzer::configure(), dqm::EcalDigiVerifier::configure(), dqm::EcalMipTrackingFeatures::configure(), dqm::EcalPnetVetoResults::configure(), dqm::EcalShowerFeatures::configure(), dqm::EcalVetoResults::configure(), dqm::EcalWABRecResults::configure(), dqm::GenieTruthDQM::configure(), dqm::HCalDQM::configure(), dqm::HcalGeometryVerifier::configure(), dqm::HcalInefficiencyAnalyzer::configure(), dqm::HCalRawDigi::configure(), dqm::HcalVetoResults::configure(), dqm::HgcrocPulseTruthAnalyzer::configure(), dqm::PhotoNuclearDQM::configure(), dqm::ReSimVerifier::configure(), dqm::SampleValidation::configure(), dqm::SimObjects::configure(), dqm::Trigger::configure(), dqm::TrigScintClusterDQM::configure(), dqm::TrigScintDigiVerifier::configure(), dqm::TrigScintDQM::configure(), dqm::TrigScintHitDQM::configure(), dqm::TrigScintTrackDQM::configure(), dqm::TrkDeDxMassEstFeatures::configure(), dqm::VisiblesCutflow::configure(), dqm::VisiblesFeatureProducer::configure(), ecal::EcalClusterProducer::configure(), ecal::EcalDigiProducer::configure(), ecal::EcalMipTrackingProcessor::configure(), ecal::EcalPnetVetoProcessor::configure(), ecal::EcalRawDecoder::configure(), ecal::EcalRawEncoder::configure(), ecal::EcalRecProducer::configure(), ecal::EcalTrigPrimDigiProducer::configure(), ecal::EcalVetoProcessor::configure(), ecal::EcalWABRecProcessor::configure(), framework::test::TestAnalyzer::configure(), hcal::HcalAlignPolarfires::configure(), hcal::HcalClusterProducer::configure(), hcal::HcalDigiProducer::configure(), hcal::HcalDoubleEndRecProducer::configure(), hcal::HcalRawDecoder::configure(), hcal::HcalRecProducer::configure(), hcal::HcalSimpleDigiAndRecProducer::configure(), hcal::HcalSingleEndRecProducer::configure(), hcal::HcalTrigPrimDigiProducer::configure(), hcal::HcalVetoProcessor::configure(), hcal::HcalWABVetoProcessor::configure(), hcal::test::HcalCheckPositionMap::configure(), hcal::VisiblesVetoProcessor::configure(), packing::FiberTrackerRawDecoder::configure(), packing::RawIO::configure(), packing::SingleSubsystemPacker::configure(), packing::SingleSubsystemUnpacker::configure(), packing::WRRawDecoder::configure(), recon::BeamElectronLocator::configure(), recon::EcalPreselectionSkimmer::configure(), recon::ElectronCounter::configure(), recon::MyProcessor::configure(), recon::OverlayProducer::configure(), recon::ParticleFlow::configure(), recon::PFEcalClusterProducer::configure(), recon::PFHcalClusterProducer::configure(), recon::PFTrackProducer::configure(), recon::PFTruthProducer::configure(), recon::RecoilFiducialityProcessor::configure(), recon::RecoilMissesEcalSkimmer::configure(), recon::SequentialTrigger::configure(), recon::TrackDeDxMassEstimator::configure(), recon::TriggerProcessor::configure(), simcore::GenieReweightProducer::configure(), simcore::ReSimulator::configure(), simcore::SimulatorBase::configure(), tracking::dqm::StraightTracksDQM::configure(), tracking::dqm::TrackerDigiDQM::configure(), tracking::dqm::TrackingRecoDQM::configure(), tracking::reco::CKFProcessor::configure(), tracking::reco::DigitizationProcessor::configure(), tracking::reco::GreedyAmbiguitySolver::configure(), tracking::reco::GSFProcessor::configure(), tracking::reco::LinearSeedFinder::configure(), tracking::reco::LinearTrackFinder::configure(), tracking::reco::LinearTruthTracking::configure(), tracking::reco::SeedFinderProcessor::configure(), tracking::reco::TruthSeedProcessor::configure(), tracking::reco::Vertexer::configure(), tracking::reco::VertexProcessor::configure(), tracking::TrackerVetoProcessor::configure(), trigger::DumpFileWriter::configure(), trigger::EcalTPSelector::configure(), trigger::HcalTPSelector::configure(), trigger::NtupleWriter::configure(), trigger::PropagationMapWriter::configure(), trigger::TrigEcalClusterProducer::configure(), trigger::TrigEcalEnergySum::configure(), trigger::TrigElectronProducer::configure(), trigger::TrigHcalEnergySum::configure(), trigger::TrigMipReco::configure(), trigscint::EventReadoutProducer::configure(), trigscint::QIEAnalyzer::configure(), trigscint::QIEDecoder::configure(), trigscint::QIEEncoder::configure(), trigscint::QualityFlagAnalyzer::configure(), trigscint::TestBeamClusterAnalyzer::configure(), trigscint::TestBeamClusterProducer::configure(), trigscint::TestBeamHitAnalyzer::configure(), trigscint::TestBeamHitProducer::configure(), trigscint::TrigScintClusterProducer::configure(), trigscint::TrigScintDigiProducer::configure(), trigscint::TrigScintFirmwareHitProducer::configure(), trigscint::TrigScintFirmwareTracker::configure(), trigscint::TrigScintQIEDigiProducer::configure(), trigscint::TrigScintRecHitProducer::configure(), trigscint::TrigScintTrackProducer::configure(), trigscint::TruthHitProducer::configure(), simcore::APrimePhysics::ConstructParticle(), simcore::APrimePhysics::ConstructProcess(), simcore::GammaPhysics::ConstructProcess(), framework::HistogramPool::create(), simcore::biasoperators::DarkBrem::DarkBrem(), biasing::utility::DecayChildrenKeeper::DecayChildrenKeeper(), biasing::DeepEcalProcessFilter::DeepEcalProcessFilter(), biasing::EcalDarkBremFilter::EcalDarkBremFilter(), ldmx::EcalGeometry::EcalGeometry(), ecal::EcalGeometryProvider::EcalGeometryProvider(), simcore::EcalSD::EcalSD(), simcore::biasoperators::ElectroNuclear::ElectroNuclear(), framework::EventFile::EventFile(), packing::rawdatafile::File::File(), simcore::biasoperators::GammaToMuPair::GammaToMuPair(), simcore::geo::GDMLParser::GDMLParser(), simcore::generators::GeneralParticleSource::GeneralParticleSource(), get(), hcal::HcalGeometryProvider::getCondition(), ldmx::HcalGeometry::HcalGeometry(), hcal::HcalReconConditionsProvider::HcalReconConditionsProvider(), simcore::HcalSD::HcalSD(), ldmx::HgcrocEmulator::HgcrocEmulator(), simcore::RunManager::Initialize(), simcore::biasoperators::K0LongInelastic::K0LongInelastic(), biasing::MidShowerDiMuonBkgdFilter::MidShowerDiMuonBkgdFilter(), biasing::MidShowerNuclearBkgdFilter::MidShowerNuclearBkgdFilter(), simcore::generators::MultiParticleGunPrimaryGenerator::MultiParticleGunPrimaryGenerator(), simcore::biasoperators::NeutronInelastic::NeutronInelastic(), biasing::NonFiducialFilter::NonFiducialFilter(), biasing::utility::PartialEnergySorter::PartialEnergySorter(), simcore::generators::ParticleGun::ParticleGun(), simcore::biasoperators::PhotoNuclear::PhotoNuclear(), biasing::PhotoNuclearProductsFilter::PhotoNuclearProductsFilter(), biasing::PrimaryToEcalFilter::PrimaryToEcalFilter(), framework::Process::Process(), framework::RandomNumberSeedService::RandomNumberSeedService(), simcore::RunManager::RunManager(), simcore::ScoringPlaneSD::ScoringPlaneSD(), simcore::RunManager::setupPhysics(), biasing::utility::StepPrinter::StepPrinter(), biasing::TaggerHitFilter::TaggerHitFilter(), biasing::TaggerVetoFilter::TaggerVetoFilter(), biasing::TargetBremFilter::TargetBremFilter(), biasing::TargetDarkBremFilter::TargetDarkBremFilter(), biasing::TargetENProcessFilter::TargetENProcessFilter(), biasing::TargetProcessFilter::TargetProcessFilter(), simcore::TrackerSD::TrackerSD(), biasing::utility::TrackProcessFilter::TrackProcessFilter(), and simcore::TrigScintSD::TrigScintSD().
|
inline |
Retrieve a parameter with a default specified.
Return the input default if a parameter is not found in map.
| T | type of parameter to return |
| [in] | name | parameter name to retrieve |
| [in,out] | def | default to use if parameter is not found |
Definition at line 114 of file Parameters.h.
|
inline |
Definition at line 99 of file Parameters.h.
|
inline |
Definition at line 122 of file Parameters.h.
|
inline |
Get a list of the keys available.
This may be helpful in debugging to make sure the parameters are spelled correctly.
Definition at line 134 of file Parameters.h.
References parameters_.
Referenced by hcal::HcalGeometryProvider::getCondition().
|
private |