Public Types | Public Member Functions | Private Member Functions | List of all members
art::ProducerBase Class Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v2_13_00/source/art/Framework/Core/ProducerBase.h"

Inheritance diagram for art::ProducerBase:
art::ProductRegistryHelper art::EDFilter art::EDProducer air::AirFilter art::BlockingPrescaler art::EventIDFilter art::MixFilter< T > art::Prescaler beamlinereco::DigitizerSaturationFilter beamlinereco::GoodBeamlineEventFilter beamlinereco::ToFFilter bsf::BremShowerFilter calhit::HasCellHits calib::CosmicCalib calib::DCMTimingOffset calib::DetRespDrift calib::FindOutliers calib::MuondEdx calib::MuondEdxAna calib::MuonTrackHits calib::RockMuonStopperSelection calib::StopperFilter calib::StopperSelection calib::SumRunsCalib calib::SumSubrunsCalib calib::ThroughgoingSelection calib::TimingCalFilter chaninfo::FindSwappedChannels comi::CanaFilter comi::NumiFiltering DataCheck::HardwareStatusCheck EliminateBeamSpills EventFilter evgen::CRVFilter evgen::GENIEFilter evgen::OccupiedSpillFilter EvTimeFilter filter::Filter filter::FLSFilter filter::SkipNEvents filter::TruthContain highe::HighEnergyFilt jmshower::RecoJMShowerFilter lem::ApplyFilter lem::BackgroundEnricher mono::EventSelector mono::HighEnergySliceRemoval mono::MonopoleCluster mono::MonopoleTrack mono::SlowMonopoleFilt novaddt::ActiveDCMFilter novaddt::ActivityTrigger novaddt::ActivityTriggerAna novaddt::ClusterConvert novaddt::Clusterer novaddt::ContainedSlice novaddt::DBSlicer novaddt::DCMSlice novaddt::DDTDemo novaddt::DDTStreamer novaddt::DDTTrackMerge novaddt::DropoutDCMFilter novaddt::EventPrescale novaddt::FastMMTrigger novaddt::FEBFlashFilter novaddt::FEBOverflowTrigger novaddt::HighADCFilter novaddt::HighETrigger novaddt::HighSortByTDC novaddt::HorizontalMuonTrigger novaddt::HoughTracker novaddt::Merge2DTracks novaddt::MichelETrigger novaddt::MoonShadow novaddt::Multiplet novaddt::NNFastMMTrigger novaddt::NuESelect novaddt::NuMuTrigger novaddt::RemoveNoise novaddt::RemoveOneDSlices novaddt::RemoveSpatialNoise novaddt::RestrictHitsByPlane novaddt::SingletonRejection novaddt::SlicePrescale novaddt::Slicer3D novaddt::SlowMMTrigger novaddt::SlowMonopoleTrigger novaddt::SortByDCM novaddt::SortByPlane novaddt::SortByTDC novaddt::SpaceSlice novaddt::SupernovaTrigger novaddt::TDSlice novaddt::TimeDCMSlice novaddt::TimeSlice novaddt::TriCellTrigger novaddt::UpMuTestTrigger novaddt::UpMuTrigger runh::BadDataFilter showere::ShowerEnergyFilterMC skim::CellHitSkimmer skim::RandomEventFilter snutil::DDSNEWSfilter supernova::HighEFinder tut::TutFilter util::CopyCellHits util::EventFilterNoSlice util::HasStandardRecord util::MergeSubruns util::NonEmptyCluster util::RemoveBeamSpills util::RemoveBeamSpillsPrecise util::RemoveTBSpills util::RunEventFilter util::TimeFilter airshower::AirSlicer art::RandomNumberSaver art::TriggerResultInserter beamlinereco::CFDHitReco beamlinereco::CkovCounterReco beamlinereco::LEHitReco beamlinereco::TimeOfFlightReco beamlinereco::ToFCalibration beamlinereco::WCTrackReco beamlinesim::BeamlineSimInput bpfit::BPFEnergyEstimator bpfit::BPFEnergyEstimatorOnly bpfit::BPFPIdMaker bpfit::BreakPoint bpfit::DimuonFitter caf::CAFMaker calhit::CalHit calhit::RemoveBadChannels calib::DriftCorrection calib::DriftResponseCalc calib::FiberCalibration calib::PCHitAggregator calib::PCHitsList calib::PCHitTransposer calib::ResizeDetector calib::TimingCalibration cheat::ClusterCheater cheat::MCCheater cheat::ProngCheater cheat::ShowerCheater cheat::TrackCheater cheat::TrueEnergy comi::Cana cosmic::CosmicExposureInfo cosrej::CosRej cosrej::MakeNueCosRej crvtx::CosmicRayVertex cvn::CVNAddTrainingData cvn::CVNCosmicMapper cvn::CVNMapper cvn::RegCVNMapper cvneventtf::CVNEventTF cvnneutronprongtf::CVNNeutronProngTF cvnprongtf::CVNProngTF cvntf::CVNCosmicTF cvntf::CVNCosmicTFFilt cvntf::CVNProngEvaluatorTF cvntf::CVNTF daq2raw::DAQHit2Raw demo::DemoModule dif::DiFShowerFinder dq::DAQHeaderSummary dqsf::DQSpillFlags dt::DiscreteTracker dt::ViewMerger earms::ElasticArmsHS evgen::CORSIKAGen evgen::CosmicPionGen evgen::CosmicsGen evgen::GENIEGen evgen::GENIENeutronOscGen evgen::GENIERockGen evgen::IsoGen evgen::SingleGen evgen::SupernovaGen evgen::TextFileGen filter::TruthFilter flat::FlatMaker fuzz::FuzzyKVertex fxwgt::FluxWeightCalculator g4n::G4Gen g4n::TruthSlim gibuu::GiBUURegen hough::HoughT hough::MultiHoughT hv::HoughVertex ifdb::IFDBSpillInfo ifdb::MIN ifdb::TBSpillInfo jmshower::JMClusterMerge jmshower::JMTrackMerge jmshower::NueSel jmshower::NueSelLID jmshower::RecoJMShower lem::AlignLibToVtx lem::FindLEMMatches lem::FindMatchesTranspose lem::LEM lem::LEMAssociator lem::LEMClient lem::LEMSummarizer lem::LEMWorker lem::LEMWorkerOutput lem::MakeLibrary lem::MakeMatches lem::MakePID lem::MergeMatches lem::Preselection lem::UnTranspose LSTME::FillLSTME me::MEFinder MergeCalCollections::MergeCalCollections MergeCollections::MergeCollections MergeDaqCollections::MergeDaqCollections MergeG4Collections::MergeG4Collections MergeGenCollections::MergeGenCollections MergeTBDaqCollections::MergeTBDaqCollections muonid::MuonIDProd murem::FindMREParent murem::FindParent murem::MergeDigits murem::MergeTruth murem::MRE murem::MuonRemove NAMESPACE::MODULENAME ncid::MakeNCCosRej ncid::NCNNKeras ncpi0::MakeNCPi0BkgRej ndreco::NDReco nerd::NERDProng nnbar::ShowerProducer noe::noe novaddt::HitSubtract novaddt::MichelEfinder novaddt::NoiseHitFinder novaddt::SortByView novaddt::TrackFit NovaDDTHitProducer nuesand::FillNueSandbox numue::NumuEnergy numue::TrackOverlapECalc numusand::FillSandbox nuonecvntf::NuonECVNTF nussand::FillNusSandbox photrans::ImprovedTransport photrans::PhotonSystRewriter photrans::PhotonTransport presel::CosmicCVNVeto presel::CosmicVeto presel::LEMPresel presel::NuePresel presel::RockPresel qeef::QeFinder raw2daq::RawDigit2DAQHit recodemo::RecoDemo regcvntf::RegCVNTF remid::RecoMuon rsim::ReadoutSim rvp::RecVarPID rwgt::MakeGENIEReweightTable skim::DataProductSkimmer skim::NueSkim skim::NumuCCpiSkim skim::NumuSkim SliceLID::FillSliceLID slicemergeviews::SliceMergeViews slicer::MMSlicer slicer::Slicer slicer::Slicer4D slicer::TruthSlicer slid::LIDBuilder slid::Recluster slid::SliceLIDBuilder slid::SPIDBuilder sn::SNBackgroundRejection sn::SNSlicer sn::SupernovaMCCluster supernova::SnovaGen tdslicer::TDSlicer tf::TimingFit trackinfo::TrackInfo trk::CosmicTrack trk::KalmanTrack trk::KalmanTrackMerge trk::TrkAssn tut::TutProducer tut::yn2020::FancyScience upmuana::UpMuProb util::FakeSpillData util::RewriteSpillData util::StoreGDML util::TruthExpand util::WriteHornCurrentCosmic vdt::VertexDT vf::VertexFinder wcvtx::WCVertex wsnumu::WSNumu xnue::XnuePID xsrec::MakeXSecCCPi0Inc zcl::FMMTracker zcl::FmmTriggerEvd zcl::SMMCluster zcl::SPCluster

Public Types

template<typename UserConfig , typename UserKeysToIgnore = void>
using Table = ProducerTable< UserConfig, detail::ModuleConfig, UserKeysToIgnore >
 

Public Member Functions

bool modifiesEvent () const
 
template<typename PROD , BranchType B>
ProductID getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const
 

Private Member Functions

void productList (ProductList *p)
 
void registerProducts (MasterProductRegistry &mpr, ProductDescriptions &productsToRegister, ModuleDescription const &md)
 
template<typename P , BranchType B = InEvent>
void produces (std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
 
template<typename P , BranchType B>
TypeLabel const & reconstitutes (std::string const &modLabel, std::string const &instanceName={})
 
template<typename P , art::BranchType B>
art::TypeLabel const & reconstitutes (std::string const &emulatedModule, std::string const &instanceName)
 
template<BranchType B>
std::set< TypeLabel > const & expectedProducts () const
 

Detailed Description

Definition at line 33 of file ProducerBase.h.

Member Typedef Documentation

template<typename UserConfig , typename UserKeysToIgnore = void>
using art::ProducerBase::Table = ProducerTable<UserConfig, detail::ModuleConfig, UserKeysToIgnore>

Definition at line 51 of file ProducerBase.h.

Member Function Documentation

template<BranchType B>
std::set<TypeLabel> const& art::ProductRegistryHelper::expectedProducts ( ) const
inlineinherited

Definition at line 111 of file ProductRegistryHelper.h.

References art::ProductRegistryHelper::typeLabelList_.

112  {
113  return typeLabelList_[B];
114  }
std::array< std::set< TypeLabel >, NumBranchTypes > typeLabelList_
template<typename PROD , BranchType B>
ProductID art::ProducerBase::getProductID ( ModuleDescription const &  moduleDescription,
std::string const &  instanceName 
) const

Definition at line 56 of file ProducerBase.h.

References art::ModuleDescription::moduleLabel().

Referenced by modifiesEvent().

58  {
59  auto const& pd =
60  get_ProductDescription<PROD>(B, md.moduleLabel(), instanceName);
61  return pd.productID();
62  }
bool art::ProducerBase::modifiesEvent ( ) const
inline

Definition at line 40 of file ProducerBase.h.

References getProductID().

41  {
42  return true;
43  }
template<typename P , art::BranchType B>
void art::ProductRegistryHelper::produces ( std::string const &  instanceName = {},
Persistable const  persistable = Persistable::Yes 
)
inlineinherited

Definition at line 141 of file ProductRegistryHelper.h.

References art::ProductRegistryHelper::insertOrThrow(), art::No, P, art::detail::verifyFriendlyClassName(), and art::detail::verifyInstanceName().

Referenced by caf::CAFMaker::CAFMaker(), art::MixHelper::produces(), and art::ProductRegistryHelper::productList().

143 {
144  verifyInstanceName(instanceName);
145  TypeID const productType{typeid(P)};
146  verifyFriendlyClassName(productType.friendlyClassName());
147  bool const isTransient = (persistable == Persistable::No);
149  B,
150  TypeLabel{productType, instanceName, SupportsView<P>::value, isTransient});
151 }
void verifyFriendlyClassName(std::string const &fcn)
#define P(a, b, c, d, e, x)
const XML_Char int const XML_Char * value
Definition: expat.h:331
TypeLabel const & insertOrThrow(BranchType const bt, TypeLabel const &tl)
void verifyInstanceName(std::string const &in)
void art::ProductRegistryHelper::productList ( ProductList p)
inlineinherited
template<typename P , BranchType B>
TypeLabel const& art::ProductRegistryHelper::reconstitutes ( std::string const &  modLabel,
std::string const &  instanceName = {} 
)
inherited
template<typename P , art::BranchType B>
art::TypeLabel const& art::ProductRegistryHelper::reconstitutes ( std::string const &  emulatedModule,
std::string const &  instanceName 
)
inherited

Definition at line 155 of file ProductRegistryHelper.h.

References art::ProductRegistryHelper::insertOrThrow(), P, art::detail::verifyFriendlyClassName(), and art::detail::verifyInstanceName().

157 {
158  verifyModuleLabel(emulatedModule);
159  verifyInstanceName(instanceName);
160  TypeID const productType{typeid(P)};
161  verifyFriendlyClassName(productType.friendlyClassName());
162  return insertOrThrow(
163  B,
164  TypeLabel{
165  productType, instanceName, SupportsView<P>::value, emulatedModule});
166 }
void verifyFriendlyClassName(std::string const &fcn)
#define P(a, b, c, d, e, x)
const XML_Char int const XML_Char * value
Definition: expat.h:331
TypeLabel const & insertOrThrow(BranchType const bt, TypeLabel const &tl)
void verifyInstanceName(std::string const &in)
void art::ProductRegistryHelper::registerProducts ( MasterProductRegistry mpr,
ProductDescriptions productsToRegister,
ModuleDescription const &  md 
)
inherited

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