LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
fhicl::detail::ParameterBase Class Referenceabstract

#include "ParameterBase.h"

Inheritance diagram for fhicl::detail::ParameterBase:
fhicl::detail::AtomBase fhicl::detail::DelegateBase fhicl::detail::SequenceBase fhicl::detail::TableBase fhicl::Atom< art::InputTag > fhicl::Atom< bool > fhicl::Atom< double > fhicl::Atom< EventNumber_t > fhicl::Atom< float > fhicl::Atom< int > fhicl::Atom< int64_t > fhicl::Atom< Pedestal_t > fhicl::Atom< raw::ADC_Count_t > fhicl::Atom< size_t > fhicl::Atom< std::int64_t > fhicl::Atom< std::string > fhicl::Atom< string > fhicl::Atom< uint32_t > fhicl::Atom< unsigned > fhicl::Atom< unsigned int > fhicl::Atom< unsigned long long > fhicl::Atom< T > fhicl::OptionalAtom< T > fhicl::OptionalAtom< bool > fhicl::OptionalAtom< double > fhicl::OptionalAtom< EventNumber_t > fhicl::OptionalAtom< rndm::NuRandomService::seed_t > fhicl::OptionalAtom< RunNumber_t > fhicl::OptionalAtom< std::string > fhicl::OptionalAtom< SubRunNumber_t > fhicl::OptionalAtom< unsigned int > fhicl::DelegatedParameter fhicl::OptionalDelegatedParameter fhicl::OptionalSequence< T, N > fhicl::OptionalSequence< T,-1ull > fhicl::OptionalTuple< TYPES > fhicl::Sequence< T, N > fhicl::Sequence< T,-1ull > fhicl::Tuple< TYPES > fhicl::OptionalSequence< art::InputTag > fhicl::OptionalSequence< Table< T >< art::RootInputFileSequence::Config::SecondaryFile > > fhicl::OptionalTuple< ARGS... > fhicl::Sequence< double > fhicl::Sequence< double, 3 > fhicl::Sequence< fhicl::Sequence< double > > fhicl::Sequence< float > fhicl::Sequence< float, 3u > fhicl::Sequence< int > fhicl::Sequence< std::string > fhicl::Sequence< string > fhicl::OptionalTable< T > fhicl::Table< T, KeysToIgnore > fhicl::OptionalTable< art::ClosingCriteria::art::TFileService::Config > fhicl::Table< art::ClosingCriteria::art::RootOutput::Config > fhicl::Table< art::EDAnalyzer::Table::FullConfig< UserConfig >, KeysToIgnore_t > fhicl::Table< art::MemoryTracker::Config::DBoutput > fhicl::Table< art::ProducerTable::FullConfig< Config, ImplicitConfig >, KeysToIgnore_t > fhicl::Table< art::ProducerTable::FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fhicl::Table< art::TimeTracker::Config::DBoutput > fhicl::Table< art::ToolConfigTable::FullConfig< Config >, KeysToIgnore_t > fhicl::Table< art::ToolConfigTable::FullConfig< UserConfig >, KeysToIgnore_t > fhicl::Table< calo::CalorimetryAlg::img::DataProviderAlg::Config > fhicl::Table< calo::LinearEnergyAlg::RecombinationConfig > fhicl::Table< cheat::BackTracker::cheat::BackTrackerService::fhiclConfig > fhicl::Table< cheat::ParticleInventory::ParticleInventoryConfig > fhicl::Table< cheat::PhotonBackTracker::cheat::PhotonBackTrackerService::fhiclConfig > fhicl::Table< evgen::evgen::ActiveVolumeVertexSampler::evgen::MarleyGen::Config > fhicl::Table< evgen::evgen::ActiveVolumeVertexSampler::evgen::MarleyTimeGen::Config > fhicl::Table< evgen::evgen::MARLEYHelper::evgen::MarleyGen::Config > fhicl::Table< evgen::evgen::MARLEYHelper::evgen::MarleyTimeGen::Config > fhicl::Table< evgen::MARLEYHelper::Source_Config > fhicl::Table< img::DataProviderAlg::pma::PMAlgTracker::Config > fhicl::Table< lar::example::lar::example::TotallyCheatTrackingAlg::lar::example::TotallyCheatTracker::Config > fhicl::Table< lar::example::SpacePointIsolationAlg::lar::example::RemoveIsolatedSpacePoints::Config > fhicl::Table< mf::service::ELdestination::MsgFormatSettings::mf::service::ELdestination::Config > fhicl::Table< pma::PMAlgCosmicTagger::trkf::PMAlgTrackMaker::Config > fhicl::Table< pma::PMAlgFitter::trkf::PMAlgTrajFitter::Config > fhicl::Table< pma::PMAlgStitching::trkf::PMAlgTrackMaker::Config > fhicl::Table< pma::PMAlgTracker::trkf::PMAlgTrackMaker::Config > fhicl::Table< pma::PMAlgVertexing::trkf::PMAlgTrackMaker::Config > fhicl::Table< pma::PMAlgVertexing::trkf::PMAlgTrajFitter::Config > fhicl::Table< pma::ProjectionMatchingAlg::trkf::PMAlgTrackMaker::Config > fhicl::Table< pma::ProjectionMatchingAlg::trkf::PMAlgTrajFitter::Config > fhicl::Table< T > fhicl::Table< T, fhicl::KeysToIgnore > fhicl::Table< trkf::Geometric3DVertexFitter::trkf::VertexFitter::Config > fhicl::Table< trkf::KalmanFilterFinalTrackFitter::trkf::KalmanFilterFinalTrackFitter::Inputs > fhicl::Table< trkf::KalmanFilterFinalTrackFitter::trkf::KalmanFilterFinalTrackFitter::Options > fhicl::Table< trkf::KalmanFilterTrajectoryFitter::trkf::KalmanFilterTrajectoryFitter::Inputs > fhicl::Table< trkf::KalmanFilterTrajectoryFitter::trkf::KalmanFilterTrajectoryFitter::Options > fhicl::Table< trkf::MCSFitProducer::trkf::MCSFitProducer::Inputs > fhicl::Table< trkf::TrackKalmanFitter::trkf::KalmanFilterFinalTrackFitter::Config > fhicl::Table< trkf::TrackKalmanFitter::trkf::KalmanFilterTrajectoryFitter::Config > fhicl::Table< trkf::TrackKalmanFitter::trkmkr::KalmanFilterFitTrackMaker::Config > fhicl::Table< trkf::TrackStatePropagator::trkf::KalmanFilterFinalTrackFitter::Config > fhicl::Table< trkf::TrackStatePropagator::trkf::KalmanFilterTrajectoryFitter::Config > fhicl::Table< trkf::TrackStatePropagator::trkf::VertexFitter::Config > fhicl::Table< trkf::TrackStatePropagator::trkmkr::KalmanFilterFitTrackMaker::Config > fhicl::Table< trkf::TrajectoryMCSFitter::trkf::MCSFitProducer::Config > fhicl::Table< trkf::TrajectoryMCSFitter::trkmkr::KalmanFilterFitTrackMaker::Config > fhicl::Table< trkf::VertexFitter::trkf::VertexFitter::Inputs > fhicl::Table< trkmkr::KalmanFilterFitTrackMaker::trkmkr::KalmanFilterFitTrackMaker::Options >

Public Member Functions

std::string key () const
 
std::string name () const
 
std::string comment () const
 
bool has_default () const
 
bool is_optional () const
 
bool is_conditional () const
 
par_type parameter_type () const
 
bool should_use () const
 
 ParameterBase (Name const &name, Comment const &comment, par_style const vt, par_type const type, std::function< bool()> maybeUse=AlwaysUse())
 
virtual ~ParameterBase ()=default
 
void set_value (fhicl::ParameterSet const &ps, bool trimParents)
 
void set_par_style (par_style const vt)
 
void set_key (std::string const &key)
 

Private Member Functions

virtual void do_set_value (fhicl::ParameterSet const &, bool trimParents)=0
 

Private Attributes

ParameterMetadata mdata_
 
std::function< bool()> maybeUse_
 

Detailed Description

Definition at line 41 of file ParameterBase.h.

Constructor & Destructor Documentation

fhicl::detail::ParameterBase::ParameterBase ( Name const &  name,
Comment const &  comment,
par_style const  vt,
par_type const  type,
std::function< bool()>  maybeUse = AlwaysUse() 
)
inline

Definition at line 84 of file ParameterBase.h.

References comment(), maybeUse_, name(), and ~ParameterBase().

89  : mdata_{name, comment, vt, type}, maybeUse_{maybeUse}
90  {}
std::function< bool()> maybeUse_
std::string name() const
Definition: ParameterBase.h:49
std::string comment() const
Definition: ParameterBase.h:54
virtual fhicl::detail::ParameterBase::~ParameterBase ( )
virtualdefault

Referenced by ParameterBase().

Member Function Documentation

virtual void fhicl::detail::ParameterBase::do_set_value ( fhicl::ParameterSet const &  ,
bool  trimParents 
)
privatepure virtual

Implemented in fhicl::Sequence< T,-1ull >, fhicl::OptionalSequence< T,-1ull >, fhicl::OptionalTuple< TYPES >, fhicl::OptionalTuple< ARGS... >, fhicl::Sequence< T, N >, fhicl::Sequence< double >, fhicl::Sequence< std::string >, fhicl::Sequence< float >, fhicl::Sequence< int >, fhicl::Sequence< double, 3 >, fhicl::Sequence< string >, fhicl::Sequence< fhicl::Sequence< double > >, fhicl::Sequence< float, 3u >, fhicl::Table< T, KeysToIgnore >, fhicl::Tuple< TYPES >, fhicl::Table< art::ProducerTable::FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t >, fhicl::Table< trkf::MCSFitProducer::trkf::MCSFitProducer::Inputs >, fhicl::Table< evgen::evgen::MARLEYHelper::evgen::MarleyTimeGen::Config >, fhicl::Table< art::TimeTracker::Config::DBoutput >, fhicl::Table< trkf::TrajectoryMCSFitter::trkf::MCSFitProducer::Config >, fhicl::Table< trkf::Geometric3DVertexFitter::trkf::VertexFitter::Config >, fhicl::Table< pma::PMAlgVertexing::trkf::PMAlgTrajFitter::Config >, fhicl::Table< img::DataProviderAlg::pma::PMAlgTracker::Config >, fhicl::Table< art::EDAnalyzer::Table::FullConfig< UserConfig >, KeysToIgnore_t >, fhicl::Table< cheat::PhotonBackTracker::cheat::PhotonBackTrackerService::fhiclConfig >, fhicl::Table< evgen::MARLEYHelper::Source_Config >, fhicl::Table< pma::PMAlgVertexing::trkf::PMAlgTrackMaker::Config >, fhicl::Table< trkf::TrackStatePropagator::trkf::VertexFitter::Config >, fhicl::Table< pma::PMAlgCosmicTagger::trkf::PMAlgTrackMaker::Config >, fhicl::Table< trkf::TrackKalmanFitter::trkf::KalmanFilterTrajectoryFitter::Config >, fhicl::Table< evgen::evgen::ActiveVolumeVertexSampler::evgen::MarleyGen::Config >, fhicl::Table< pma::PMAlgStitching::trkf::PMAlgTrackMaker::Config >, fhicl::Table< calo::LinearEnergyAlg::RecombinationConfig >, fhicl::Table< trkf::VertexFitter::trkf::VertexFitter::Inputs >, fhicl::Table< art::MemoryTracker::Config::DBoutput >, fhicl::Table< trkf::TrackStatePropagator::trkf::KalmanFilterTrajectoryFitter::Config >, fhicl::Table< T >, fhicl::Table< trkf::KalmanFilterTrajectoryFitter::trkf::KalmanFilterTrajectoryFitter::Options >, fhicl::Table< pma::PMAlgFitter::trkf::PMAlgTrajFitter::Config >, fhicl::Table< trkf::TrackStatePropagator::trkf::KalmanFilterFinalTrackFitter::Config >, fhicl::Table< trkf::KalmanFilterFinalTrackFitter::trkf::KalmanFilterFinalTrackFitter::Inputs >, fhicl::Table< trkf::TrajectoryMCSFitter::trkmkr::KalmanFilterFitTrackMaker::Config >, fhicl::Table< lar::example::SpacePointIsolationAlg::lar::example::RemoveIsolatedSpacePoints::Config >, fhicl::Table< cheat::BackTracker::cheat::BackTrackerService::fhiclConfig >, fhicl::Table< T, fhicl::KeysToIgnore >, fhicl::Table< art::ProducerTable::FullConfig< Config, ImplicitConfig >, KeysToIgnore_t >, fhicl::Table< calo::CalorimetryAlg::img::DataProviderAlg::Config >, fhicl::Table< pma::ProjectionMatchingAlg::trkf::PMAlgTrackMaker::Config >, fhicl::Table< trkmkr::KalmanFilterFitTrackMaker::trkmkr::KalmanFilterFitTrackMaker::Options >, fhicl::Table< lar::example::lar::example::TotallyCheatTrackingAlg::lar::example::TotallyCheatTracker::Config >, fhicl::Table< trkf::TrackKalmanFitter::trkf::KalmanFilterFinalTrackFitter::Config >, fhicl::Table< art::ToolConfigTable::FullConfig< Config >, KeysToIgnore_t >, fhicl::Table< art::ToolConfigTable::FullConfig< UserConfig >, KeysToIgnore_t >, fhicl::Table< evgen::evgen::ActiveVolumeVertexSampler::evgen::MarleyTimeGen::Config >, fhicl::Table< trkf::TrackKalmanFitter::trkmkr::KalmanFilterFitTrackMaker::Config >, fhicl::Table< pma::ProjectionMatchingAlg::trkf::PMAlgTrajFitter::Config >, fhicl::Table< trkf::KalmanFilterTrajectoryFitter::trkf::KalmanFilterTrajectoryFitter::Inputs >, fhicl::Table< evgen::evgen::MARLEYHelper::evgen::MarleyGen::Config >, fhicl::Table< trkf::KalmanFilterFinalTrackFitter::trkf::KalmanFilterFinalTrackFitter::Options >, fhicl::Table< mf::service::ELdestination::MsgFormatSettings::mf::service::ELdestination::Config >, fhicl::Table< art::ClosingCriteria::art::RootOutput::Config >, fhicl::Table< pma::PMAlgTracker::trkf::PMAlgTrackMaker::Config >, fhicl::Table< cheat::ParticleInventory::ParticleInventoryConfig >, fhicl::Table< trkf::TrackStatePropagator::trkmkr::KalmanFilterFitTrackMaker::Config >, fhicl::OptionalSequence< T, N >, fhicl::OptionalTable< T >, fhicl::OptionalTable< art::ClosingCriteria::art::TFileService::Config >, fhicl::OptionalSequence< art::InputTag >, fhicl::OptionalSequence< Table< T >< art::RootInputFileSequence::Config::SecondaryFile > >, fhicl::OptionalAtom< T >, fhicl::OptionalAtom< double >, fhicl::OptionalAtom< std::string >, fhicl::OptionalAtom< EventNumber_t >, fhicl::OptionalAtom< unsigned int >, fhicl::OptionalAtom< rndm::NuRandomService::seed_t >, fhicl::OptionalAtom< bool >, fhicl::OptionalAtom< SubRunNumber_t >, fhicl::OptionalAtom< RunNumber_t >, fhicl::Atom< T >, fhicl::Atom< uint32_t >, fhicl::Atom< int64_t >, fhicl::Atom< double >, fhicl::Atom< unsigned long long >, fhicl::Atom< std::string >, fhicl::Atom< EventNumber_t >, fhicl::Atom< float >, fhicl::Atom< raw::ADC_Count_t >, fhicl::Atom< int >, fhicl::Atom< art::InputTag >, fhicl::Atom< unsigned int >, fhicl::Atom< string >, fhicl::Atom< size_t >, fhicl::Atom< unsigned >, fhicl::Atom< Pedestal_t >, fhicl::Atom< bool >, fhicl::Atom< std::int64_t >, fhicl::OptionalDelegatedParameter, and fhicl::DelegatedParameter.

Referenced by set_key(), and set_value().

bool fhicl::detail::ParameterBase::is_conditional ( ) const
inline
std::string fhicl::detail::ParameterBase::key ( ) const
inline

Definition at line 44 of file ParameterBase.h.

References fhicl::detail::ParameterMetadata::key(), and mdata_.

Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), fhicl::detail::PrintAllowedConfiguration::before_action(), fhicl::detail::SearchAllowedConfiguration::before_action(), fhicl::detail::PrintAllowedConfiguration::cacheTopLevelParameter(), detinfo::LArPropertiesStandard::Configure(), fhicl::OptionalSequence< Table< T >< art::RootInputFileSequence::Config::SecondaryFile > >::do_prepare_elements_for_validation(), fhicl::OptionalTuple< ARGS... >::do_prepare_elements_for_validation(), fhicl::OptionalSequence< T,-1ull >::do_prepare_elements_for_validation(), fhicl::detail::ValidateThenSet::enter_sequence(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), evgen::MARLEYHelper::fhicl_parameter_to_json(), fhicl::detail::SearchAllowedConfiguration::form_absolute(), fhicl::DelegatedParameter::get(), fhicl::OptionalDelegatedParameter::get_if_present(), fhicl::OptionalDelegatedParameter::hasValue(), fhicl::detail::MaybeDisplayParent::is_sequence_element(), fhicl::detail::PrintAllowedConfiguration::maybeReleaseTopLevelParameter(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::detail::PrintAllowedConfiguration::suppressFormat().

45  {
46  return mdata_.key();
47  }
void fhicl::detail::ParameterBase::set_key ( std::string const &  key)
inline

Definition at line 106 of file ParameterBase.h.

References do_set_value(), mdata_, and fhicl::detail::ParameterMetadata::set_key().

107  {
108  mdata_.set_key(key);
109  }
void set_key(std::string const &key)
std::string key() const
Definition: ParameterBase.h:44
void fhicl::detail::ParameterBase::set_par_style ( par_style const  vt)
inline

Definition at line 101 of file ParameterBase.h.

References mdata_, and fhicl::detail::ParameterMetadata::set_par_style().

Referenced by art::RootOutput::Config::Config().

102  {
103  mdata_.set_par_style(vt);
104  }
void set_par_style(par_style const vt)
void fhicl::detail::ParameterBase::set_value ( fhicl::ParameterSet const &  ps,
bool  trimParents 
)
inline

Definition at line 96 of file ParameterBase.h.

References do_set_value().

Referenced by fhicl::detail::ValidateThenSet::after_action().

97  {
98  do_set_value(ps, trimParents);
99  }
virtual void do_set_value(fhicl::ParameterSet const &, bool trimParents)=0
bool fhicl::detail::ParameterBase::should_use ( ) const
inline

Definition at line 79 of file ParameterBase.h.

References maybeUse_.

Referenced by fhicl::detail::ValidateThenSet::before_action(), and evgen::MARLEYHelper::fhicl_parameter_to_json().

80  {
81  return maybeUse_();
82  }
std::function< bool()> maybeUse_

Member Data Documentation

std::function<bool()> fhicl::detail::ParameterBase::maybeUse_
private

Definition at line 116 of file ParameterBase.h.

Referenced by ParameterBase(), and should_use().

ParameterMetadata fhicl::detail::ParameterBase::mdata_
private

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