LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
art Namespace Reference

HLT enums. More...

Namespaces

 actions
 
 detail
 
 errors
 
 evtSel
 
 ExceptionDetail
 
 fp_detail
 
 friendlyname
 
 gfactory
 
 hlt
 
 input
 
 productstatus
 
 PtrRemapperDetail
 
 root
 
 rootNames
 
 stats
 
 test
 

Classes

class  ActionTable
 
class  ActivityRegistry
 
class  AndHelper
 
class  Assns
 
class  Assns< L, R, void >
 
class  AssnsGroup
 
class  AssnsGroupWithData
 
struct  AssnsNode
 
class  BasicOptionsHandler
 
class  BasicOutputOptionsHandler
 
class  BasicPostProcessor
 
class  BasicSourceOptionsHandler
 
class  BeginEndPackage
 
class  BeginEndPackage< Level::Run >
 
class  BeginEndPackage< Level::SubRun >
 
class  BlockingPrescaler
 
class  BoolCache
 
class  BranchChildren
 
class  BranchDescription
 
class  BranchID
 
struct  BranchKey
 
class  BranchMapper
 
class  BranchMapperWithReader
 
struct  CannotFillView
 
class  CatalogInterface
 
class  ClosedRangeSetHandler
 
class  ClosingCriteria
 
class  Compare_Run_SubRun_EventEntry
 
class  ComparePtrs
 
class  ComposedSelectorWrapper
 
class  const_AssnsIter
 
class  ConstPtrCache
 
class  Consumer
 
class  CurrentModule
 
class  CurrentProcessingContext
 
class  DatabaseConnection
 
class  DataFlow
 
class  DataViewImpl
 
class  debugging_allocator
 
class  DebugOptionsHandler
 
struct  debugvalue
 
class  DecrepitRelicInputSourceImplementation
 
struct  Defaults
 
class  DeferredProductGetter
 
class  DelayedReader
 
struct  DoMakePartner
 
struct  DoNotMakePartner
 
struct  DoNotSetPtr
 
struct  DoSetPtr
 
class  DropMetaData
 
class  DuplicateChecker
 
class  EDAnalyzer
 
class  EDFilter
 
class  EDProducer
 
class  EDProduct
 
class  EDProductGetter
 
class  EDProductGetterFinder
 
class  EmptyEvent
 
class  EmptyEventTimestampPlugin
 
class  EndPathExecutor
 
class  EngineCreator
 
class  Event
 
class  EventAuxiliary
 
class  EventID
 
class  EventIDFilter
 
class  EventIDMatcher
 
class  EventObserverBase
 
class  EventPrincipal
 
struct  EventProcessHistoryID
 
class  EventProcessor
 
class  EventRange
 
class  EventSelector
 
struct  EventSummary
 
class  ExecutionCounts
 
class  FastCloningInfoProvider
 
class  FileBlock
 
class  FileCatalog
 
class  FileCatalogItem
 
class  FileCatalogMetadata
 
class  FileCatalogMetadataPlugin
 
class  FileCatalogOptionsHandler
 
class  FileDumperOutput
 
struct  FileFormatVersion
 
class  FileIndex
 
class  FileProperties
 
class  FileStatsCollector
 
class  FileTransfer
 
class  FindMany
 
class  FindMany< ProdB, void >
 
class  FindManyP
 
class  FindManyP< ProdB, void >
 
class  FindOne
 
class  FindOne< ProdB, void >
 
class  FindOneP
 
class  FindOneP< ProdB, void >
 
class  FloatingPointControl
 
struct  FragmentSemantic
 
struct  FullSemantic
 
class  GlobalSignal
 
class  GlobalSignal< SRTYPE, ResultType(Args...)>
 
class  Granularity
 
class  Group
 
class  GroupQueryResult
 
class  GroupSelector
 
class  GroupSelectorRules
 
class  Handle
 
struct  has_fillView
 
struct  enable_if_function_exists_t< void(T::*)(std::vector< void const * > &), &T::fillView >
 
struct  has_mapped_type
 
struct  has_mapped_type< T, cet::enable_if_type_exists_t< typename T::mapped_type > >
 
struct  has_setPtr
 
struct  has_setPtr< cet::map_vector< T > >
 
struct  has_setPtr< std::deque< T, A > >
 
struct  has_setPtr< std::list< T, A > >
 
struct  has_setPtr< std::set< T, A > >
 
struct  has_setPtr< std::vector< bool, A > >
 
struct  has_setPtr< std::vector< T, A > >
 
struct  has_value_type
 
struct  has_value_type< T, cet::enable_if_type_exists_t< typename T::value_type > >
 
class  Hash
 
class  History
 
class  HLTGlobalStatus
 
class  HLTPathStatus
 
struct  IDNumber
 
struct  IDNumber< Level::Event >
 
struct  IDNumber< Level::Run >
 
struct  IDNumber< Level::SubRun >
 
class  InputFileCatalog
 
class  InputSource
 
struct  InputSourceDescription
 
class  InputSourceFactory
 
class  InputTag
 
struct  key_traits
 
struct  key_traits< std::pair< U, V > >
 
struct  key_traits< std::string >
 
class  LocalSignal
 
class  LocalSignal< STYPE, ResultType(Args...)>
 
class  MallocOptionSetter
 
struct  MallocOpts
 
class  MasterProductRegistry
 
class  MatchAllSelector
 
struct  MaybeFillView
 
struct  MaybeFillView< cet::map_vector< T > >
 
struct  MaybeFillView< std::deque< T, A > >
 
struct  MaybeFillView< std::list< T, A > >
 
struct  MaybeFillView< std::set< T, A > >
 
struct  MaybeFillView< std::vector< bool, A > >
 
struct  MaybeFillView< std::vector< T, A > >
 
struct  MaybeFillView< T, std::enable_if_t< has_fillView< T >::value > >
 
class  MaybeIncrementCounts
 
class  MaybeIncrementCounts< Level::Event, T >
 
class  MemoryAdjuster
 
class  MemoryTracker
 
class  MFStatusUpdater
 
struct  MinimalToolConfig
 
class  MixFilter
 
class  MixHelper
 
class  MixOp
 
class  MixOpBase
 
class  ModuleDescription
 
struct  ModuleInPathSummary
 
class  ModuleLabelSelector
 
struct  NewToOld
 
class  NoDelayedReader
 
class  NotHelper
 
struct  OldToNew
 
class  OpenRangeSetHandler
 
class  OptionsHandler
 
class  OrHelper
 
class  OutputFileInfo
 
class  OutputHandle
 
class  OutputModule
 
struct  OutputModuleDescription
 
class  OutputWorker
 
struct  ParameterSetBlob
 
class  Parentage
 
class  Path
 
class  PathManager
 
class  PathsInfo
 
struct  PathSummary
 
class  PostCloseFileRenamer
 
class  Prescaler
 
class  Principal
 
struct  ProcessConfiguration
 
class  ProcessHistory
 
class  ProcessingOptionsHandler
 
class  ProcessNameSelector
 
class  ProcessPackage
 
class  ProdToProdMapBuilder
 
class  ProducerBase
 
class  ProducerTable
 
class  ProducingService
 
class  ProducingServiceSignals
 
class  ProductID
 
class  ProductInfo
 
class  ProductInstanceNameSelector
 
class  ProductMetaData
 
class  ProductProvenance
 
struct  ProductRegistry
 
class  ProductRegistryHelper
 
struct  productSize
 
struct  productSize< cet::map_vector< E >, false >
 
struct  productSize< PtrVector< E >, false >
 
struct  productSize< std::deque< E >, false >
 
struct  productSize< std::list< E >, false >
 
struct  productSize< std::set< E >, false >
 
struct  productSize< std::vector< E >, false >
 
struct  productSize< T, false >
 
struct  productSize< T, true >
 
struct  ProductTable
 
class  ProductTables
 
class  ProductToken
 
class  Provenance
 
class  ProvenanceCheckerOutput
 
class  ProvenanceDumper
 
class  ProvenanceDumper< DETAIL, cet::enable_if_type_exists_t< typename DETAIL::Config > >
 
struct  ProvenanceDumperConfig
 
struct  ProvenanceDumperConfig< DETAIL, cet::enable_if_type_exists_t< typename DETAIL::Config > >
 
class  Ptr
 
class  PtrMaker
 
class  PtrRemapper
 
class  PtrVector
 
class  PtrVectorBase
 
class  RandomNumberGenerator
 
class  RandomNumberSaver
 
struct  RangedFragmentSemantic
 
class  RangeSet
 
class  RangeSetHandler
 
class  RefCore
 
class  Results
 
class  ResultsAuxiliary
 
class  ResultsPrincipal
 
class  ResultsProducer
 
class  RNGsnapshot
 
class  RootBranchInfo
 
class  RootBranchInfoList
 
class  RootDelayedReader
 
class  RootFileBlock
 
class  RootHandlers
 
class  RootInput
 
class  RootInputFile
 
class  RootInputFileSequence
 
class  RootInputTree
 
class  RootOutput
 
class  RootOutputFile
 
class  RootOutputTree
 
class  RootSizeOnDisk
 
class  RPManager
 
struct  RPParams
 
class  RPWorker
 
class  RPWorkerT
 
class  Run
 
class  RunAuxiliary
 
class  RunID
 
class  RunPrincipal
 
class  Schedule
 
class  ScheduleContext
 
class  ScheduleID
 
class  Selector
 
class  SelectorBase
 
class  ServiceDirector
 
class  ServiceHandle
 
class  ServiceHandle< T, art::ServiceScope::PER_SCHEDULE >
 
class  ServiceRegistry
 
class  ServicesManager
 
class  ServiceTable
 
class  ServiceToken
 
class  SortInvalidFirst
 
class  Source
 
struct  Source_generator
 
struct  Source_wantFileServices
 
class  SourceHelper
 
class  SQLErrMsg
 
class  SQLite3Wrapper
 
class  SubRun
 
class  SubRunAuxiliary
 
class  SubRunID
 
class  SubRunPrincipal
 
class  Suffixes
 
class  SummedValue
 
struct  SupportsView
 
struct  value
 
struct  SupportsView< T, std::enable_if_t< has_mapped_type< T >::value > >
 
class  TFileDirectory
 
class  TFileService
 
class  thread_safe_registry_via_id
 
class  Timestamp
 
class  TimeTracker
 
class  TKeyVFSOpenPolicy
 
class  ToolConfigTable
 
class  Tracer
 
class  Transient
 
class  TriggerNamesService
 
struct  TriggerReport
 
class  TriggerResultInserter
 
class  TriggerResults
 
class  TrivialFileDelivery
 
class  TrivialFileTransfer
 
class  TypeID
 
class  TypeLabel
 
class  ValidHandle
 
class  View
 
class  ViewToken
 
class  Worker
 
class  WorkerInPath
 
struct  WorkerParams
 
struct  WorkerSummary
 
class  WorkerT
 
struct  WrappedTypeID
 
class  Wrapper
 

Typedefs

using OptionsHandlers = std::vector< std::unique_ptr< art::OptionsHandler >>
 
using DRISI = DecrepitRelicInputSourceImplementation
 
using PathPtrs = std::vector< std::unique_ptr< Path >>
 
using WorkerMap = std::map< std::string, std::unique_ptr< Worker >>
 
template<typename PROD , typename OPROD = PROD>
using MixFunc = std::function< bool(std::vector< PROD const * > const &, OPROD &, PtrRemapper const &)>
 
using EventIDIndex = std::map< FileIndex::EntryNumber_t, EventID >
 
using SubRunIDIndex = std::map< SubRunID, FileIndex::EntryNumber_t >
 
using RunIDIndex = std::map< SubRunID, FileIndex::EntryNumber_t >
 
using EventIDSequence = std::vector< EventID >
 
using EntryNumberSequence = std::vector< FileIndex::EntryNumber_t >
 
using EventAuxiliarySequence = std::vector< EventAuxiliary >
 
using DataFlowDumper = ProvenanceDumper< DataFlow >
 
using CountingStatistics = ExecutionCounts< stats::Visited, stats::Run, stats::Passed, stats::Failed, stats::ExceptionThrown >
 
template<Level L>
using Do = ProcessPackage< L >
 
template<Level L>
using Begin = typename BeginEndPackage< L >::Begin
 
template<Level L>
using End = typename BeginEndPackage< L >::End
 
using ConsumableProductVectorPerBranch = std::vector< ProductInfo >
 
using ConsumableProductSetPerBranch = std::set< ProductInfo >
 
using ConsumableProducts = std::array< ConsumableProductVectorPerBranch, NumBranchTypes >
 
using ConsumableProductSets = std::array< ConsumableProductSetPerBranch, NumBranchTypes >
 
using ProductListUpdatedCallback = std::function< void(ProductList const &)>
 
using ProcessConfigurationRegistry = thread_safe_registry_via_id< ProcessConfigurationID, ProcessConfiguration >
 
using ProcessConfigurationMap = ProcessConfigurationRegistry::collection_type
 
using ProcessHistoryRegistry = thread_safe_registry_via_id< ProcessHistoryID, ProcessHistory >
 
using Selections = std::vector< BranchDescription const * >
 
using SelectionsArray = std::array< Selections, NumBranchTypes >
 
template<typename T >
using tool_return_type = typename detail::tool_type< T >::return_type
 
using new_t = std::string
 
using old_t = std::string
 
using CFUNC = void(*)(int, siginfo_t *, void *)
 
using ProductDescriptions = std::vector< BranchDescription >
 
typedef unsigned short BranchListIndex
 
typedef std::vector< BranchListIndexBranchListIndexes
 
typedef fhicl::ParameterSetID EventSelectionID
 
typedef std::vector< EventSelectionIDEventSelectionIDVector
 
template<Level L>
using IDNumber_t = typename IDNumber< L >::type
 
using EventNumber_t = IDNumber_t< Level::Event >
 
using SubRunNumber_t = IDNumber_t< Level::SubRun >
 
using RunNumber_t = IDNumber_t< Level::Run >
 
typedef unsigned int ModuleDescriptionID
 
typedef std::map< fhicl::ParameterSetID, ParameterSetBlobParameterSetMap
 
typedef Hash< ParentageTypeParentageID
 
typedef thread_safe_registry_via_id< ParentageID, ParentageParentageRegistry
 
typedef Hash< ProcessConfigurationTypeProcessConfigurationID
 
typedef std::map< ProcessHistoryID const, ProcessHistoryProcessHistoryMap
 
typedef Hash< ProcessHistoryTypeProcessHistoryID
 
typedef std::map< BranchKey, BranchDescriptionProductList
 
typedef std::vector< ProductProvenanceProductProvenances
 
typedef unsigned char ProductStatus
 
typedef std::string ReleaseVersion
 
using TimeValue_t = std::uint64_t
 
using ProcessLookup = std::map< std::string, std::vector< ProductID >>
 
using ViewLookup_t = ProcessLookup
 
using ProductLookup_t = std::map< std::string, ProcessLookup >
 
using AvailableProducts_t = std::unordered_set< ProductID, ProductID::Hash >
 
using Exception = cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate >
 

Enumerations

enum  ModuleType {
  ModuleType::NON_ART, ModuleType::ANALYZER, ModuleType::FILTER, ModuleType::PRODUCER,
  ModuleType::OUTPUT
}
 
enum  OutputFileStatus { OutputFileStatus::Open, OutputFileStatus::Switching, OutputFileStatus::Closed }
 
enum  FileCatalogStatus { FileCatalogStatus::SUCCESS, FileCatalogStatus::NO_MORE_FILES, FileCatalogStatus::DELIVERY_ERROR, FileCatalogStatus::TRANSFER_ERROR }
 
enum  BranchActionType { BranchActionBegin = 0, BranchActionEnd, BranchActionProcess }
 
enum  FileDisposition {
  FileDisposition::PENDING = -1, FileDisposition::TRANSFERRED, FileDisposition::CONSUMED, FileDisposition::SKIPPED,
  FileDisposition::INCOMPLETE
}
 
enum  ServiceScope { ServiceScope::LEGACY, ServiceScope::GLOBAL, ServiceScope::PER_SCHEDULE }
 
enum  suffix_type {
  suffix_type::module, suffix_type::plugin, suffix_type::service, suffix_type::source,
  suffix_type::tool, suffix_type::mfPlugin, suffix_type::mfStatsPlugin
}
 
enum  Verbosity { Silent = 0, Concise = 2, Normal = 5, Detailed = 10 }
 
enum  Direction : int { Direction::Forward = 1, Direction::Reverse = -1 }
 
enum  BranchType {
  InEvent, InSubRun, InRun, InResults,
  NumBranchTypes
}
 
enum  HashedTypes {
  ModuleDescriptionType, ParameterSetType, ProcessHistoryType, ProcessConfigurationType,
  EntryDescriptionType, ParentageType
}
 
enum  Persistable { Persistable::Yes, Persistable::No }
 
enum  Level {
  Level::Job = 0, Level::InputFile, Level::Run, Level::SubRun,
  Level::Event, Level::NumNestingLevels, Level::ReadyToAdvance
}
 

Functions

bool find_config (std::string const &filename, std::string const &search_path_spec, std::string &full_path)
 
template<typename T , typename... Args>
void add_opt (T &t, Args &&...args)
 
int run_art (int argc, char **argv, bpo::options_description &in_desc, cet::filepath_maker &lookupPolicy, OptionsHandlers &&handlers)
 
int run_art_string_config (std::string const &config_string)
 
int run_art_common_ (fhicl::ParameterSet const &main_pset)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, EDAnalyzer::Table< T > const &t)
 
std::ostream & operator<< (std::ostream &os, const GroupSelector &gs)
 
 MFSU_0_ARG_UPDATER_DEFN (PostBeginJob)
 
 MFSU_0_ARG_UPDATER_DEFN (PostEndJob)
 
 MFSU_1_ARG_UPDATER_DEFN (PostSourceConstruction)
 
 MFSU_0_ARG_UPDATER_DEFN (PreSourceEvent)
 
 MFSU_1_ARG_UPDATER_DEFN (PostSourceEvent)
 
 MFSU_0_ARG_UPDATER_DEFN (PreSourceSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostSourceSubRun)
 
 MFSU_0_ARG_UPDATER_DEFN (PreSourceRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostSourceRun)
 
 MFSU_0_ARG_UPDATER_DEFN (PreOpenFile)
 
 MFSU_1_ARG_UPDATER_DEFN (PostOpenFile)
 
 MFSU_0_ARG_UPDATER_DEFN (PreCloseFile)
 
 MFSU_0_ARG_UPDATER_DEFN (PostCloseFile)
 
 MFSU_1_ARG_UPDATER_DEFN (PreProcessEvent)
 
 MFSU_1_ARG_UPDATER_DEFN (PostProcessEvent)
 
 MFSU_1_ARG_UPDATER_DEFN (PreBeginRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostBeginRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PreEndRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostEndRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreBeginSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostBeginSubRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PreEndSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostEndSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreProcessPath)
 
 MFSU_2_ARG_UPDATER_DEFN (PostProcessPath)
 
 MFSU_1_ARG_UPDATER_DEFN (PrePathBeginRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PostPathBeginRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PrePathEndRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PostPathEndRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PrePathBeginSubRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PostPathBeginSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PrePathEndSubRun)
 
 MFSU_2_ARG_UPDATER_DEFN (PostPathEndSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleConstruction)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleConstruction)
 
 MFSU_2_ARG_UPDATER_DEFN (PostBeginJobWorkers)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleBeginJob)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleBeginJob)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleEndJob)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleEndJob)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModule)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModule)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleBeginRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleBeginRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleEndRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleEndRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleBeginSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleBeginSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PreModuleEndSubRun)
 
 MFSU_1_ARG_UPDATER_DEFN (PostModuleEndSubRun)
 
std::string to_string (ModuleType mt)
 
bool is_observer (ModuleType mt)
 
bool is_modifier (ModuleType mt)
 
std::ostream & operator<< (std::ostream &os, Granularity const &b)
 
std::ostream & operator<< (std::ostream &os, OutputFileStatus const ofs)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, ProducerBase::Table< T > const &t)
 
template<typename UserConfig , typename ImplicitConfig >
std::ostream & operator<< (std::ostream &os, ProducerTable< UserConfig, ImplicitConfig > const &t)
 
template<>
void EventProcessor::begin< Level::Job > ()
 
template<>
void EventProcessor::begin< Level::InputFile > ()
 
template<>
void EventProcessor::begin< Level::Run > ()
 
template<>
void EventProcessor::begin< Level::SubRun > ()
 
template<>
void EventProcessor::finalize< Level::Event > ()
 
template<>
void EventProcessor::finalize< Level::SubRun > ()
 
template<>
void EventProcessor::finalize< Level::Run > ()
 
template<>
void EventProcessor::finalize< Level::InputFile > ()
 
template<>
void EventProcessor::finalize< Level::Job > ()
 
template<>
void EventProcessor::finalizeContainingLevels< Level::SubRun > ()
 
template<>
void EventProcessor::finalizeContainingLevels< Level::Event > ()
 
template<>
void EventProcessor::recordOutputModuleClosureRequests< Level::Run > ()
 
template<>
void EventProcessor::recordOutputModuleClosureRequests< Level::SubRun > ()
 
template<>
void EventProcessor::recordOutputModuleClosureRequests< Level::Event > ()
 
std::ostream & operator<< (std::ostream &os, FileProperties const &fp)
 
void checkDictionaries (BranchDescription const &productDesc)
 
std::string const & getFileFormatEra ()
 
int getFileFormatVersion ()
 
void unloadRootSigHandler ()
 
void setRootErrorHandler (bool const want_custom)
 
void completeRootHandlers ()
 
std::string couldNotFindTree (std::string const &treename)
 
static void fillTreeBranches (TTree *, vector< TBranch * > const &branches, bool saveMemory, int64_t threshold)
 
bool greaterBySize (RootSizeOnDisk::Record const &lhs, RootSizeOnDisk::Record const &rhs)
 
template<typename T , typename P >
std::enable_if_t< P::branch_type==InEvent||P::branch_type==InResultsput_product_in_principal (std::unique_ptr< T > &&product, P &principal, std::string const &module_label, std::string const &instance_name={})
 
template<typename T , typename P >
std::enable_if_t< P::branch_type==InSubRun||P::branch_type==InRunput_product_in_principal (std::unique_ptr< T > &&product, P &principal, std::string const &module_label, std::string const &instance_name={}, RangeSet &&=RangeSet::invalid())
 
RangeSet rangeSetFor (RunPrincipal const &rp)
 
RangeSet rangeSetFor (SubRunPrincipal const &srp)
 
static void markAncestors (ProductProvenance const &iInfo, BranchMapper const &iMapper, std::map< ProductID, bool > &oMap, std::set< ProductID > &oMapperMissing)
 
template<typename PROD >
std::ostream & operator<< (std::ostream &os, Handle< PROD > const &h)
 
template<typename T >
BranchDescription const & get_ProductDescription (BranchType branch_type, std::string const &module_label, std::string const &instance_name)
 
template<typename T >
BranchDescription const & get_ProductDescription (Principal const &principal, std::string const &module_label, std::string const &instance_name)
 
BranchDescription const & get_ProductDescription (TypeID type_id, BranchType branch_type, std::string const &module_label, std::string const &instance_name)
 
BranchDescription const & get_ProductDescription (TypeID type_id, Principal const &principal, std::string const &module_label, std::string const &instance_name)
 
BranchDescription const & get_ProductDescription (TypeID tid, std::string const &process_name, ProductList const &product_list, BranchType branch_type, std::string const &module_label, std::string const &instance_name)
 
std::ostream & operator<< (std::ostream &os, Group const &g)
 
template<class T >
void swap (Handle< T > &a, Handle< T > &b)
 
template<class T >
void swap (ValidHandle< T > &a, ValidHandle< T > &b)
 
template<class T >
void convert_handle (GroupQueryResult const &, Handle< T > &)
 
template<class T >
std::enable_if_t< detail::is_handle< T >::value, RangeSet const & > range_of_validity (T const &h)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > same_ranges (T const &a, U const &b)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > disjoint_ranges (T const &a, U const &b)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > overlapping_ranges (T const &a, U const &b)
 
void swap (OutputHandle &a, OutputHandle &b)
 
bool operator< (ProductInfo const &a, ProductInfo const &b)
 
std::ostream & operator<< (std::ostream &, Provenance const &)
 
bool operator== (Provenance const &a, Provenance const &b)
 
void swap (Provenance &x, Provenance &y)
 
template<class A , class B >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value &&std::is_base_of< art::SelectorBase, B >::value, art::AndHelper< A, B > > operator&& (A const &a, B const &b)
 
template<class A , class B >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value &&std::is_base_of< art::SelectorBase, B >::value, art::OrHelper< A, B > > operator|| (A const &a, B const &b)
 
template<class A >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value, art::NotHelper< A > > operator! (A const &a)
 
template<class T , class U >
bool same_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
template<class T , class U >
bool disjoint_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
template<class T , class U >
bool overlapping_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
std::string translateFileDeliveryStatus (FileDeliveryStatus stat)
 
std::string translateFileDisposition (FileDisposition fd)
 
std::string translateFileTransferStatus (FileTransferStatus stat)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, ServiceTable< T > const &t)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_two_arg_insert< CONTAINER >::value > concatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_three_arg_insert< CONTAINER >::value > concatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename COLLECTION >
void flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out)
 
template<typename COLLECTION , typename OFFSETS >
void flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out, OFFSETS &offsets)
 
template<typename T >
void flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out)
 
template<typename T , typename OFFSETS >
void flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out, OFFSETS &offsets)
 
template<class X , class Y >
bool operator== (debugging_allocator< X > const &, debugging_allocator< Y > const &) throw ()
 
template<class X , class Y >
bool operator!= (debugging_allocator< X > const &, debugging_allocator< Y > const &) throw ()
 
bool operator< (EventProcessHistoryID const &lh, EventProcessHistoryID const &rh)
 
std::ostream & operator<< (std::ostream &os, MasterProductRegistry const &mpr)
 
std::ostream & operator<< (std::ostream &os, ProductMetaData const &pmd)
 
void ensureTable (fhicl::intermediate_table &table, std::string const &fhicl_spec)
 
void printArtException (cet::exception const &e, char const *prog)
 
void printBadAllocException (char const *prog)
 
void printStdException (std::exception const &e, char const *prog)
 
void printUnknownException (char const *prog)
 
template<typename T >
std::enable_if_t< std::is_class< T >::value, tool_return_type< T > > make_tool (fhicl::ParameterSet const &pset)
 
template<typename T >
std::enable_if_t< std::is_function< T >::value, tool_return_type< T > > make_tool (fhicl::ParameterSet const &pset, std::string const &function_tool_type)
 
template<typename T , typename TableConfig >
std::enable_if_t< std::is_class< T >::value, tool_return_type< T > > make_tool (TableConfig const &tc)
 
template<typename T , typename TableConfig >
std::enable_if_t< std::is_function< T >::value, tool_return_type< T > > make_tool (TableConfig const &tc, std::string const &function_tool_type)
 
std::ostream & operator<< (std::ostream &ost, const MallocOpts &opts)
 
MallocOptionSettergetGlobalOptionSetter ()
 
std::string parent_path (std::string const &path)
 
std::ostream & operator<< (std::ostream &os, suffix_type const st)
 
template<typename T1 , typename T2 >
std::enable_if_t< std::is_same< T1, T2 >::value||std::is_base_of< T1, T2 >::value||std::is_base_of< T2, T1 >::value, bool > pointersEqual (T1 *t1, T2 *t2)
 
template<typename T1 , typename T2 >
std::enable_if_t<!std::is_same< T1, T2 >::value &&!std::is_base_of< T1, T2 >::value &&!std::is_base_of< T2, T1 >::value, bool > pointersEqual (T1 *, T2 *)
 
constexpr auto fullRun ()
 
constexpr auto fullSubRun ()
 
constexpr auto runFragment ()
 
constexpr auto subRunFragment ()
 
auto runFragment (RangeSet const &rs)
 
auto subRunFragment (RangeSet const &rs)
 
bool is_glob (std::string const &pattern)
 
std::string glob2reg (std::string pattern)
 
std::vector< std::vector< std::string >::const_iteratorregexMatch (std::vector< std::string > const &strings, std::regex const &regexp)
 
std::vector< std::vector< std::string >::const_iteratorregexMatch (std::vector< std::string > const &strings, std::string const &pattern)
 
std::map< new_t, old_tnewToOldName ()
 
std::map< new_t, old_toldToNewName ()
 
bool operator!= (ScheduleID left, ScheduleID right)
 
bool operator<= (ScheduleID left, ScheduleID right)
 
bool operator> (ScheduleID left, ScheduleID right)
 
bool operator>= (ScheduleID left, ScheduleID right)
 
std::string unique_filename (std::string stem, std::string extension=".root")
 
void ep_sigusr2 (int which, siginfo_t *, void *)
 
int getSigNum ()
 
void disableAllSigs (sigset_t *oldset)
 
void disableRTSigs ()
 
void reenableSigs (sigset_t *oldset)
 
void enableSignal (sigset_t *newset, const int signum)
 
void disableSignal (sigset_t *newset, const int signum)
 
void installCustomHandler (const int signum, CFUNC func)
 
void installSig (const int signum, CFUNC func)
 
void sigInventory ()
 
void setupSignals (bool want_sigint_enabled)
 
std::string const & getReleaseVersion ()
 
template<typename A , typename B , typename D , typename F >
void for_each_group (art::Assns< A, B, D > const &assns, F func)
 Helper functions to access associations in order. More...
 
template<typename A , typename B , typename D , typename F >
void for_each_group_with_left (art::Assns< A, B, D > const &assns, F func)
 
template<typename A , typename B , typename D , typename F >
void for_each_pair (art::Assns< A, B, D > const &assns, F func)
 
template<Direction Dir>
constexpr int signed_one ()
 
template<Direction Dir>
constexpr auto index_for_dereferencing (std::size_t const i)
 
template<class L , class R , class D , Direction Dir>
constexpr auto const & left (const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
 
template<class L , class R , class D , Direction Dir>
constexpr auto const & right (const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
 
template<class COLLECTION >
void getElementAddresses (COLLECTION const &coll, const std::type_info &iToType, const std::vector< unsigned long > &iIndices, std::vector< void const * > &oPtr)
 
template<typename T >
void getElementAddresses (cet::map_vector< T > const &obj, const std::type_info &iToType, const std::vector< unsigned long > &iIndices, std::vector< void const * > &oPtr)
 
void swap (HLTGlobalStatus &lhs, HLTGlobalStatus &rhs)
 
std::ostream & operator<< (std::ostream &ost, HLTGlobalStatus const &hlt)
 
template<typename T , typename U >
std::enable_if_t< std::is_same< T, U >::value||std::is_base_of< T, U >::value||std::is_base_of< U, T >::value, bool > operator== (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same< T, U >::value||std::is_base_of< T, U >::value||std::is_base_of< U, T >::value, bool > operator!= (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same< T, U >::value||std::is_base_of< T, U >::value||std::is_base_of< U, T >::value, bool > operator< (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename H >
void fill_ptr_vector (std::vector< Ptr< T >> &ptrs, H const &h)
 
template<typename T , typename H >
void fill_ptr_list (std::list< Ptr< T >> &ptrs, H const &h)
 
template<typename T >
std::ostream & operator<< (std::ostream &, Ptr< T > const &)
 
template<typename T >
void swap (PtrVector< T > &, PtrVector< T > &)
 
bool operator== (RefCore const &, RefCore const &)
 
bool operator!= (RefCore const &, RefCore const &)
 
bool operator< (RefCore const &, RefCore const &)
 
void swap (art::RefCore &, art::RefCore &)
 
template<class COLLECTION >
void setPtr (COLLECTION const &coll, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr)
 
template<typename T >
void setPtr (cet::map_vector< T > const &obj, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr)
 
void swap (TriggerResults &lhs, TriggerResults &rhs)
 
bool operator< (BranchDescription const &a, BranchDescription const &b)
 
bool combinable (BranchDescription const &a, BranchDescription const &b)
 
bool operator== (BranchDescription const &a, BranchDescription const &b)
 
std::ostream & operator<< (std::ostream &os, BranchDescription const &p)
 
std::ostream & operator<< (std::ostream &os, BranchID const &id)
 
std::ostream & operator<< (std::ostream &os, BranchKey const &bk)
 
bool operator< (BranchKey const &a, BranchKey const &b)
 
bool operator== (BranchKey const &a, BranchKey const &b)
 
bool operator!= (BranchKey const &a, BranchKey const &b)
 
std::ostream & operator<< (std::ostream &, BranchMapper const &)
 
std::string const & BranchTypeToString (BranchType const bt)
 
std::string const & BranchTypeToProductTreeName (BranchType const bt)
 
std::string const & BranchTypeToMetaDataTreeName (BranchType const bt)
 
std::string const & BranchTypeToAuxiliaryBranchName (BranchType const bt)
 
std::string const & productProvenanceBranchName (BranchType const bt)
 
std::string const & BranchTypeToMajorIndexName (BranchType const bt)
 
std::string const & BranchTypeToMinorIndexName (BranchType const bt)
 
std::ostream & operator<< (std::ostream &os, BranchType const branchType)
 
std::string canonicalProductName (std::string const &friendlyClassName, std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName)
 
std::ostream & operator<< (std::ostream &os, EventID const &iID)
 
std::ostream & operator<< (std::ostream &os, EventRange const &r)
 
bool operator== (FileFormatVersion const &a, FileFormatVersion const &b)
 
bool operator!= (FileFormatVersion const &a, FileFormatVersion const &b)
 
std::ostream & operator<< (std::ostream &os, FileFormatVersion const &ff)
 
bool operator< (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
ostream & operator<< (ostream &os, FileIndex::Element const &el)
 
ostream & operator<< (ostream &os, FileIndex const &fileIndex)
 
bool operator> (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator>= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator<= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator== (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator!= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
template<int I>
void swap (Hash< I > &a, Hash< I > &b)
 
template<int I>
std::ostream & operator<< (std::ostream &os, Hash< I > const &h)
 
template<Level L = Level::Event>
constexpr bool is_valid (IDNumber_t< L > const id)
 
std::ostream & operator<< (std::ostream &os, ModuleDescription const &p)
 
std::ostream & operator<< (std::ostream &os, ParameterSetBlob const &blob)
 
bool operator== (Parentage const &a, Parentage const &b)
 
std::ostream & operator<< (std::ostream &os, Parentage const &)
 
bool operator!= (Parentage const &a, Parentage const &b)
 
bool operator< (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
bool operator== (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
std::ostream & operator<< (std::ostream &os, ProcessConfiguration const &pc)
 
bool operator!= (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
bool isAncestor (ProcessHistory const &a, ProcessHistory const &b)
 
ostream & operator<< (ostream &ost, ProcessHistory const &ph)
 
void swap (art::ProcessHistory &a, art::ProcessHistory &b)
 
bool operator== (art::ProcessHistory const &a, art::ProcessHistory const &b)
 
bool operator!= (art::ProcessHistory const &a, art::ProcessHistory const &b)
 
bool isDescendant (art::ProcessHistory const &a, art::ProcessHistory const &b)
 
std::ostream & operator<< (std::ostream &os, ProductID const id)
 
auto make_product_descriptions (ProductList const &productList)
 
bool operator== (ProductProvenance const &a, ProductProvenance const &b)
 
bool operator< (ProductProvenance const &a, ProductProvenance const &b)
 
std::ostream & operator<< (std::ostream &os, ProductProvenance const &p)
 
bool operator!= (ProductProvenance const &a, ProductProvenance const &b)
 
bool operator== (RangeSet const &l, RangeSet const &r)
 
bool same_ranges (RangeSet const &l, RangeSet const &r)
 
bool disjoint_ranges (RangeSet const &l, RangeSet const &r)
 
void throw_if_not_disjoint (RunNumber_t const rn, EventRange const &left, EventRange const &right) noexcept(false)
 
bool overlapping_ranges (RangeSet const &l, RangeSet const &r)
 
std::ostream & operator<< (std::ostream &os, RangeSet const &rs)
 
std::ostream & operator<< (std::ostream &os, art::RunID const &iID)
 
std::ostream & operator<< (std::ostream &os, SubRunID const &iID)
 
bool operator< (TypeLabel const &a, TypeLabel const &b)
 
std::ostream & operator<< (std::ostream &os, TypeLabel const &tl)
 
template<typename WANTED_POINTER , typename InputIterator >
WANTED_POINTER ensurePointer (InputIterator it)
 
std::ostream & operator<< (std::ostream &ost, art::InputTag const &tag)
 
void decode (boost::any const &a, InputTag &tag)
 
bool operator!= (InputTag const &left, InputTag const &right) noexcept
 
constexpr auto underlying_value (Level const l) noexcept
 
constexpr auto highest_level () noexcept
 
constexpr auto level_up (Level const l) noexcept
 
constexpr auto most_deeply_nested_level () noexcept
 
constexpr auto level_down (Level const l) noexcept
 
constexpr bool is_above_most_deeply_nested_level (Level const l) noexcept
 
constexpr bool is_most_deeply_nested_level (Level const l) noexcept
 
constexpr bool is_highest_level (Level const l) noexcept
 
constexpr bool is_level_contained_by (Level const l1, Level const l2) noexcept
 
std::ostream & operator<< (std::ostream &os, Level const l)
 
bool operator> (TypeID const &, TypeID const &)
 
bool operator!= (TypeID const &, TypeID const &)
 
std::ostream & operator<< (std::ostream &, TypeID const &)
 
void swap (TypeID &, TypeID &)
 
bool is_assns (TypeID const &tid)
 
bool is_assns (std::string const &type_name)
 
bool is_instantiation_of (std::string const &type_name, std::string const &template_name)
 
bool is_instantiation_of (TypeID const &tid, std::string const &template_name)
 
std::string name_of_template_arg (std::string const &template_instance, size_t desired_arg)
 
std::string name_of_assns_partner (std::string assns_type_name)
 
std::string name_of_assns_base (std::string assns_type_name)
 
std::string name_of_unwrapped_product (std::string const &wrapped_name)
 
std::string uniform_type_name (std::type_info const &tid)
 
std::string uniform_type_name (std::string name)
 
std::string wrappedClassName (std::string const &className)
 
std::string const & getCanvasReleaseVersion ()
 

Variables

MallocOptionSetter global_malloc_options
 
std::mutex usr2_lock
 
std::atomic< int > shutdown_flag {0}
 
std::mutex signum_lock
 
volatile int signum_value
 
debugvalue debugit
 

Detailed Description

HLT enums.

An art event visitor component takes a reference to an art::Event object. Components with this interface will typically implement a sink or a source WCT interface.

Note, this is a Wire Cell Toolkit Interface class which depends on external types so is not kept in wire-cell-iface. See that package for in-toolkit WCT interfaces.

https://github.com/WireCell/wire-cell-iface/tree/master/inc/WireCellIface

A wcls::MainTool is a main entry point to the WCT from LS

See the WCLS_tool as the likely only implementation.

Fixme: maybe need to pick a less generic name for this tool?

Definition of common HLT enums

Typedef Documentation

using art::AvailableProducts_t = typedef std::unordered_set<ProductID, ProductID::Hash>

Definition at line 21 of file type_aliases.h.

template<Level L>
using art::Begin = typedef typename BeginEndPackage<L>::Begin

Definition at line 256 of file PrincipalPackages.h.

typedef unsigned short art::BranchListIndex

Definition at line 13 of file BranchListIndex.h.

Definition at line 14 of file BranchListIndex.h.

using art::CFUNC = typedef void (*)(int, siginfo_t*, void*)

Definition at line 24 of file UnixSignalHandlers.h.

Definition at line 55 of file ProductInfo.h.

Definition at line 53 of file ProductInfo.h.

Definition at line 57 of file ProductInfo.h.

using art::ConsumableProductVectorPerBranch = typedef std::vector<ProductInfo>

Definition at line 52 of file ProductInfo.h.

Definition at line 28 of file DataFlowDumper_module.cc.

template<Level L>
using art::Do = typedef ProcessPackage<L>

Definition at line 73 of file PrincipalPackages.h.

template<Level L>
using art::End = typedef typename BeginEndPackage<L>::End

Definition at line 259 of file PrincipalPackages.h.

using art::EntryNumberSequence = typedef std::vector<FileIndex::EntryNumber_t>

Definition at line 23 of file MixTypes.h.

using art::EventAuxiliarySequence = typedef std::vector<EventAuxiliary>

Definition at line 24 of file MixTypes.h.

Definition at line 19 of file MixTypes.h.

using art::EventIDSequence = typedef std::vector<EventID>

Definition at line 22 of file MixTypes.h.

Definition at line 117 of file IDNumber.h.

Definition at line 18 of file EventSelectionID.h.

using art::Exception = typedef cet::coded_exception<errors::ErrorCodes, ExceptionDetail::translate>

Definition at line 66 of file Exception.h.

template<Level L>
using art::IDNumber_t = typedef typename IDNumber<L>::type

Definition at line 108 of file IDNumber.h.

template<typename PROD , typename OPROD = PROD>
using art::MixFunc = typedef std::function< bool(std::vector<PROD const*> const&, OPROD&, PtrRemapper const&)>

Definition at line 17 of file MixTypes.h.

typedef unsigned int art::ModuleDescriptionID

Definition at line 8 of file ModuleDescriptionID.h.

using art::new_t = typedef std::string

Definition at line 11 of file SAMMetadataTranslators.h.

using art::old_t = typedef std::string

Definition at line 12 of file SAMMetadataTranslators.h.

using art::OptionsHandlers = typedef std::vector<std::unique_ptr<art::OptionsHandler>>

Definition at line 10 of file OptionsHandlers.h.

Definition at line 8 of file ParameterSetMap.h.

Definition at line 8 of file ParentageID.h.

using art::PathPtrs = typedef std::vector<std::unique_ptr<Path>>

Definition at line 29 of file Path.h.

Definition at line 8 of file ProcessHistoryID.h.

Definition at line 14 of file ProcessHistory.h.

using art::ProcessLookup = typedef std::map<std::string, std::vector<ProductID>>

Definition at line 15 of file type_aliases.h.

using art::ProductDescriptions = typedef std::vector<BranchDescription>

Definition at line 293 of file BranchDescription.h.

Definition at line 15 of file ProductList.h.

using art::ProductListUpdatedCallback = typedef std::function<void(ProductList const&)>

Definition at line 42 of file MasterProductRegistry.h.

using art::ProductLookup_t = typedef std::map<std::string, ProcessLookup>

Definition at line 20 of file type_aliases.h.

Definition at line 22 of file ProductProvenance.h.

typedef unsigned char art::ProductStatus

Definition at line 12 of file ProductStatus.h.

typedef std::string art::ReleaseVersion

Definition at line 6 of file ReleaseVersion.h.

Definition at line 21 of file MixTypes.h.

Definition at line 119 of file IDNumber.h.

using art::Selections = typedef std::vector<BranchDescription const*>

Definition at line 11 of file Selections.h.

using art::SelectionsArray = typedef std::array<Selections, NumBranchTypes>

Definition at line 12 of file Selections.h.

Definition at line 20 of file MixTypes.h.

Definition at line 118 of file IDNumber.h.

using art::TimeValue_t = typedef std::uint64_t

Definition at line 7 of file Timestamp.h.

template<typename T >
using art::tool_return_type = typedef typename detail::tool_type<T>::return_type

Definition at line 15 of file make_tool.h.

Definition at line 17 of file type_aliases.h.

using art::WorkerMap = typedef std::map<std::string, std::unique_ptr<Worker>>

Definition at line 10 of file WorkerMap.h.

Enumeration Type Documentation

Enumerator
BranchActionBegin 
BranchActionEnd 
BranchActionProcess 

Definition at line 11 of file BranchActionType.h.

Enumerator
InEvent 
InSubRun 
InRun 
InResults 
NumBranchTypes 

Definition at line 18 of file BranchType.h.

enum art::Direction : int
strong
Enumerator
Forward 
Reverse 

Definition at line 24 of file AssnsIter.h.

Enumerator
SUCCESS 
NO_MORE_FILES 
DELIVERY_ERROR 
TRANSFER_ERROR 

Definition at line 26 of file InputFileCatalog.h.

enum art::FileDisposition
strong
Enumerator
PENDING 
TRANSFERRED 
CONSUMED 
SKIPPED 
INCOMPLETE 

Definition at line 13 of file FileDisposition.h.

Enumerator
ModuleDescriptionType 
ParameterSetType 
ProcessHistoryType 
ProcessConfigurationType 
EntryDescriptionType 
ParentageType 

Definition at line 11 of file HashedTypes.h.

enum art::Level
strong
Enumerator
Job 
InputFile 
Run 
SubRun 
Event 
NumNestingLevels 
ReadyToAdvance 

Definition at line 12 of file Level.h.

enum art::ModuleType
strong
Enumerator
NON_ART 
ANALYZER 
FILTER 
PRODUCER 
OUTPUT 

Definition at line 22 of file ModuleType.h.

enum art::Persistable
strong
Enumerator
Yes 
No 

Definition at line 5 of file Persistable.h.

enum art::ServiceScope
strong
Enumerator
LEGACY 
GLOBAL 
PER_SCHEDULE 

Definition at line 5 of file ServiceScope.h.

enum art::suffix_type
strong
Enumerator
module 
plugin 
service 
source 
tool 
mfPlugin 
mfStatsPlugin 

Definition at line 61 of file PluginSuffixes.h.

Enumerator
Silent 
Concise 
Normal 
Detailed 

Definition at line 5 of file Verbosity.h.

5 { Silent = 0, Concise = 2, Normal = 5, Detailed = 10 };

Function Documentation

std::string const & art::BranchTypeToAuxiliaryBranchName ( BranchType const  bt)

Definition at line 83 of file BranchType.cc.

Referenced by art::MixHelper::generateEventAuxiliarySequence(), art::detail::InfoDumperInputFile::getAuxiliary(), art::RootInputTree::RootInputTree(), and art::RootOutputTree::RootOutputTree().

84  {
85  return select(
86  bt,
87  {&eventAuxiliary, &subRunAuxiliary, &runAuxiliary, &resultsAuxiliary});
88  }
std::string const & art::BranchTypeToMajorIndexName ( BranchType const  bt)

Definition at line 101 of file BranchType.cc.

102  {
103  return select(bt, {&eventMajorIndex, &subRunMajorIndex, &runMajorIndex});
104  }
std::string const & art::BranchTypeToMetaDataTreeName ( BranchType const  bt)

Definition at line 77 of file BranchType.cc.

Referenced by art::RootInputTree::RootInputTree(), and art::RootOutputTree::RootOutputTree().

78  {
79  return select(bt, {&eventMeta, &subRunMeta, &runMeta, &resultsMeta});
80  }
std::string const & art::BranchTypeToMinorIndexName ( BranchType const  bt)

Definition at line 107 of file BranchType.cc.

108  {
109  return select(bt, {&eventMinorIndex, &subRunMinorIndex, &runMinorIndex});
110  }
std::string const & art::BranchTypeToProductTreeName ( BranchType const  bt)

Definition at line 71 of file BranchType.cc.

Referenced by art::detail::InfoDumperInputFile::print_range_sets(), art::RootInputTree::RootInputTree(), and art::RootOutputTree::RootOutputTree().

72  {
73  return select(bt, {&events, &subRuns, &runs, &resultsTree});
74  }
std::string const & art::BranchTypeToString ( BranchType const  bt)

Definition at line 65 of file BranchType.cc.

Referenced by operator<<(), art::FileDumperOutput::printPrincipal(), art::detail::resolveRangeSetInfo(), and art::RootInputTree::RootInputTree().

66  {
67  return select(bt, {&event, &subRun, &run, &results});
68  }
Event finding and building.
std::string art::canonicalProductName ( std::string const &  friendlyClassName,
std::string const &  moduleLabel,
std::string const &  productInstanceName,
std::string const &  processName 
)

Definition at line 9 of file canonicalProductName.cc.

Referenced by art::BranchKey::branchName(), art::BranchDescription::fluffTransients_(), and art::ProductID::invalid().

13 {
14  std::string result;
15  result.reserve(friendlyClassName.size() + moduleLabel.size() +
16  productInstanceName.size() + processName.size() + 4);
17  result += friendlyClassName;
18  result += underscore;
19  result += moduleLabel;
20  result += underscore;
21  result += productInstanceName;
22  result += underscore;
23  result += processName;
24  result += period;
25  // It is *absolutely* needed to have the trailing period on the branch
26  // name, as this gives instruction to ROOT to split this branch in the
27  // modern (v4+) way vs the old way (v3-).
28 
29  return result;
30 }
void art::checkDictionaries ( BranchDescription const &  productDesc)

Definition at line 13 of file checkDictionaries.cc.

References is_assns(), name_of_assns_partner(), art::BranchDescription::producedClassName(), art::BranchDescription::transient(), wrappedClassName(), and art::BranchDescription::wrappedName().

Referenced by art::RootInputFile::dropOnInput(), and art::RootOutputFile::selectProducts().

14 {
15  CET_ASSERT_ONLY_ONE_THREAD();
16 
17  // Make sure we populate the ROOT-related transient information. If
18  // this is not done, then TBranch-related quantities will not be set
19  // correctly.
20  detail::BranchDescriptionStreamer::fluffRootTransients(productDesc);
21  auto const isTransient = productDesc.transient();
22 
23  // Check product dictionaries.
24  static root::DictionaryChecker dictChecker{};
25  dictChecker.checkDictionaries(productDesc.wrappedName(), false);
26  dictChecker.checkDictionaries(productDesc.producedClassName(), !isTransient);
27 
28  // Check dictionaries for assnsPartner, if appropriate. This is only
29  // necessary for top-level checks so appropriate here rather than
30  // checkDictionaries itself.
31  if (!isTransient) {
32  auto const assnsPartner =
33  name_of_assns_partner(productDesc.producedClassName());
34  if (!assnsPartner.empty()) {
35  dictChecker.checkDictionaries(wrappedClassName(assnsPartner), true);
36  }
37  }
38  dictChecker.reportMissingDictionaries();
39 
40  // Make sure that the AssnsStreamer is appropropriately setup--must
41  // be done after we are sure that there is matching dictionary for
42  // the partner.
43  if (!is_assns(productDesc.producedClassName()))
44  return;
45 
46  detail::AssnsStreamer::init_streamer(productDesc.producedClassName());
47 }
std::string wrappedClassName(std::string const &className)
std::string name_of_assns_partner(std::string assns_type_name)
Definition: TypeID.cc:99
bool is_assns(TypeID const &tid)
Definition: TypeID.h:145
bool art::combinable ( BranchDescription const &  a,
BranchDescription const &  b 
)

Definition at line 246 of file BranchDescription.cc.

References art::BranchDescription::branchType(), art::BranchDescription::friendlyClassName(), art::BranchDescription::moduleLabel(), art::BranchDescription::processName(), art::BranchDescription::producedClassName(), art::BranchDescription::productID(), and art::BranchDescription::productInstanceName().

Referenced by art::MasterProductRegistry::updateProductLists_(), and art::BranchDescription::wrappedName().

247  {
248  return (a.branchType() == b.branchType()) &&
249  (a.processName() == b.processName()) &&
250  (a.producedClassName() == b.producedClassName()) &&
251  (a.friendlyClassName() == b.friendlyClassName()) &&
252  (a.productInstanceName() == b.productInstanceName()) &&
253  (a.moduleLabel() == b.moduleLabel()) &&
254  (a.productID() == b.productID());
255  }
void art::completeRootHandlers ( )

Definition at line 197 of file InitRootHandlers.cc.

References tkeyvfs_init().

Referenced by art::BasicOutputOptionsHandler::doProcessOptions().

198  {
199  // Set ROOT parameters.
200  ROOT::EnableThreadSafety();
201  TTree::SetMaxTreeSize(kMaxLong64);
202  TH1::AddDirectory(kFALSE);
203 
204  // Initialize tkeyvfs sqlite3 extension for ROOT.
205  tkeyvfs_init();
206 
207  // Set custom streamers.
208  setCacheStreamers();
209  setProvenanceTransientStreamers();
210  detail::setBranchDescriptionStreamer();
211  detail::setPtrVectorBaseStreamer();
212  configureProductIDStreamer();
213  configureRefCoreStreamer();
214  }
int tkeyvfs_init(void)
Definition: tkeyvfs.cc:1768
template<typename CONTAINER >
std::enable_if_t<detail::has_two_arg_insert<CONTAINER>::value> art::concatContainers ( CONTAINER &  out,
CONTAINER const &  in 
)
template<typename CONTAINER >
std::enable_if_t<detail::has_three_arg_insert<CONTAINER>::value> art::concatContainers ( CONTAINER &  out,
CONTAINER const &  in 
)
template<class T >
void art::convert_handle ( GroupQueryResult const &  orig,
Handle< T > &  result 
)

Definition at line 249 of file Handle.h.

References art::Handle< T >::swap().

Referenced by art::DataViewImpl::get(), art::DataViewImpl::getByLabel(), and art::DataViewImpl::getMany().

250 {
251  Handle<T> h{orig};
252  result.swap(h);
253 }
std::string art::couldNotFindTree ( std::string const &  treename)
inline

Definition at line 9 of file rootErrMsgs.h.

Referenced by art::detail::readFileIndex(), and art::RootInputFile::readParentageTree().

10  {
11  std::string message = "Could not find tree ";
12  message.append(treename);
13  message.append(" in the input file.\n");
14  return message;
15  }
void art::decode ( boost::any const &  a,
InputTag tag 
)

Definition at line 64 of file InputTag.cc.

References fhicl::detail::decode(), fhicl::detail::is_sequence(), and tmp.

Referenced by fhicl::ParameterSet::get_one_(), and operator!=().

65  {
66 
68  std::vector<std::string> tmp;
69  fhicl::detail::decode(a, tmp);
70  if (tmp.size() == 2)
71  tag = {tmp.at(0), tmp.at(1)};
72  else if (tmp.size() == 3)
73  tag = {tmp.at(0), tmp.at(1), tmp.at(2)};
74  else {
75  std::ostringstream errmsg;
76  errmsg << "When converting to InputTag by a sequence, FHiCL entries "
77  "must follow the convention:\n\n"
78  << " [ label, instance ], or\n"
79  << " [ label, instance, process_name ].\n\n";
80  errmsg << "FHiCL entries provided: [ ";
81  for (auto ca = tmp.begin(); ca != tmp.cend(); ++ca) {
82  errmsg << *ca;
83  if (ca != tmp.cend() - 1) {
84  errmsg << ", ";
85  }
86  }
87  errmsg << " ]";
88  throw std::length_error(errmsg.str());
89  }
90  } else {
91  std::string tmp;
92  fhicl::detail::decode(a, tmp);
93  tag = tmp;
94  }
95  }
void decode(boost::any const &, std::string &)
bool is_sequence(boost::any const &val)
Definition: coding.h:50
Float_t tmp
Definition: plot.C:37
void art::disableAllSigs ( sigset_t *  oldset)

Definition at line 72 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

Referenced by installCustomHandler().

73  {
74  sigset_t myset;
75  // all blocked for now
76  MUST_BE_ZERO(sigfillset(&myset));
77  MUST_BE_ZERO(pthread_sigmask(SIG_SETMASK, &myset, oldset));
78  }
#define MUST_BE_ZERO(fun)
void art::disableRTSigs ( )

Definition at line 83 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

Referenced by installCustomHandler().

84  {
85 #if defined(__linux__)
86  // ignore all the RT signals
87  sigset_t myset;
88  MUST_BE_ZERO(sigemptyset(&myset));
89 
90  struct sigaction tmpact;
91  memset(&tmpact, 0, sizeof(tmpact));
92  tmpact.sa_handler = SIG_IGN;
93 
94  for (int num = SIGRTMIN; num < SIGRTMAX; ++num) {
95  MUST_BE_ZERO(sigaddset(&myset, num));
96  MUST_BE_ZERO(sigaction(num, &tmpact, nullptr));
97  }
98 
99  MUST_BE_ZERO(pthread_sigmask(SIG_BLOCK, &myset, 0));
100 #endif
101  }
#define MUST_BE_ZERO(fun)
void art::disableSignal ( sigset_t *  newset,
const int  signum 
)

Definition at line 124 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

125  {
126  // disable the specified signal
127  MUST_BE_ZERO(sigdelset(newset, signum));
128  }
#define MUST_BE_ZERO(fun)
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::disjoint_ranges ( T const &  a,
U const &  b 
)
bool art::disjoint_ranges ( RangeSet const &  l,
RangeSet const &  r 
)

Definition at line 297 of file RangeSet.cc.

References art::RangeSet::collapse(), art::RangeSet::empty(), art::RangeSet::has_disjoint_ranges(), art::RangeSet::ranges(), and art::RangeSet::run().

298 {
299  if (!both_valid(l, r))
300  return false;
301 
302  if (!l.has_disjoint_ranges() || !r.has_disjoint_ranges())
303  return false;
304 
305  if (l.run() != r.run())
306  return true;
307 
308  // Empty RangeSets are disjoint wrt. other RangeSets. Must handle
309  // this case separately than l == r case.
310  if (l.empty() || r.empty())
311  return true;
312 
313  // If we get this far, then neither RangeSet is empty.
314  if (l == r)
315  return false;
316 
317  RangeSet ltmp{l};
318  RangeSet rtmp{r};
319  auto const& lranges = ltmp.collapse().ranges();
320  auto const& rranges = rtmp.collapse().ranges();
321 
322  std::vector<EventRange> merged;
323  std::merge(lranges.begin(),
324  lranges.end(),
325  rranges.begin(),
326  rranges.end(),
327  std::back_inserter(merged));
328 
329  return disjoint(merged);
330 }
RangeSet & collapse()
Definition: RangeSet.cc:74
std::vector< EventRange > const & ranges() const
Definition: RangeSet.h:42
template<class T , class U >
bool art::disjoint_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 182 of file SummedValue.h.

References disjoint_ranges(), and art::SummedValue< T >::rangeOfValidity().

183  {
184  return disjoint_ranges(a.rangeOfValidity(), b.rangeOfValidity());
185  }
bool disjoint_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:182
void art::enableSignal ( sigset_t *  newset,
const int  signum 
)

Definition at line 115 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

116  {
117  // enable the specified signal
118  MUST_BE_ZERO(sigaddset(newset, signum));
119  }
#define MUST_BE_ZERO(fun)
template<typename WANTED_POINTER , typename InputIterator >
WANTED_POINTER art::ensurePointer ( InputIterator  it)
inline

Definition at line 77 of file ensurePointer.h.

References art::errors::LogicError, and fhicl::detail::atom::value().

Referenced by art::detail::IPRHelper< ProdA, ProdB, Data, DATACOLL, EVENT >::operator()().

77  {
79  "Supplied template argument is not a pointer.");
80  return detail::EnsurePointer<
81  WANTED_POINTER,
82  typename std::iterator_traits<InputIterator>::value_type>{}(*it);
83 }
84 catch (std::bad_cast&) {
85  throw Exception(errors::LogicError, "ensurePointer")
86  << "Iterator value type "
87  << cet::demangle_symbol(
88  typeid(typename std::iterator_traits<InputIterator>::value_type)
89  .name())
90  << " and wanted pointer type "
91  << cet::demangle_symbol(typeid(WANTED_POINTER).name())
92  << " are incompatible.\n";
93 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::string value(boost::any const &)
void art::ensureTable ( fhicl::intermediate_table table,
std::string const &  fhicl_spec 
)

Definition at line 6 of file ensureTable.cc.

References fhicl::intermediate_table::exists(), and fhicl::intermediate_table::putEmptyTable().

Referenced by art::BasicOutputOptionsHandler::doCheckOptions(), and art::FileCatalogOptionsHandler::doProcessOptions().

7 {
8  if (!table.exists(name)) {
9  table.putEmptyTable(name);
10  }
11 }
bool putEmptyTable(std::string const &name, bool in_prolog=false)
bool exists(std::string const &name) const
void art::ep_sigusr2 ( int  which,
siginfo_t *  ,
void *   
)

Definition at line 31 of file UnixSignalHandlers.cc.

References FDEBUG, and shutdown_flag.

Referenced by setupSignals().

32  {
33  FDEBUG(1) << "in sigusr2 handler\n";
34  if (which == SIGINT && shutdown_flag > 0) {
35  std::cerr << "User signal SIGINT terminating the process\n";
36  std::terminate();
37  }
38  shutdown_flag = which;
39  }
std::atomic< int > shutdown_flag
#define FDEBUG(lev)
Definition: DebugMacros.h:26
template<>
void art::EventProcessor::begin< Level::InputFile > ( )
inline

Definition at line 274 of file EventProcessor.cc.

References art::EventProcessor::openInputFile().

275  {
276  openInputFile();
277  }
template<>
void art::EventProcessor::begin< Level::Job > ( )
inline

Definition at line 266 of file EventProcessor.cc.

References art::EventProcessor::beginJob(), and art::EventProcessor::timer_.

267  {
268  timer_.start();
269  beginJob();
270  }
void beginJob()
Definition: Breakpoints.cc:14
template<>
void art::EventProcessor::begin< Level::Run > ( )

Definition at line 281 of file EventProcessor.cc.

References art::EventProcessor::beginRun(), art::EventProcessor::finalizeRunEnabled_, art::EventProcessor::handleEmptyRuns_, and art::EventProcessor::readRun().

282  {
283  finalizeRunEnabled_ = true;
284  readRun();
285  if (handleEmptyRuns_) {
286  beginRun();
287  }
288  }
template<>
void art::EventProcessor::begin< Level::SubRun > ( )

Definition at line 292 of file EventProcessor.cc.

References art::EventProcessor::beginRunIfNotDoneAlready(), art::EventProcessor::beginSubRun(), art::EventProcessor::finalizeSubRunEnabled_, art::EventProcessor::handleEmptySubRuns_, art::EventProcessor::readSubRun(), and art::EventProcessor::runPrincipal_.

293  {
294  finalizeSubRunEnabled_ = true;
295  assert(runPrincipal_);
296  assert(runPrincipal_->id().isValid());
297  readSubRun();
298  if (handleEmptySubRuns_) {
299  beginRunIfNotDoneAlready();
300  beginSubRun();
301  }
302  }

Definition at line 306 of file EventProcessor.cc.

References art::EventProcessor::eventPrincipal_, art::EventProcessor::openSomeOutputFiles(), and art::EventProcessor::writeEvent().

307  {
308  assert(eventPrincipal_);
309  if (eventPrincipal_->id().isFlush())
310  return;
311 
312  openSomeOutputFiles();
313  writeEvent();
314  }

Definition at line 358 of file EventProcessor.cc.

References art::EventProcessor::closeAllFiles(), art::EventProcessor::closeInputFile(), Job, and art::EventProcessor::nextLevel_.

359  {
360  if (nextLevel_ == Level::Job) {
361  closeAllFiles();
362  } else {
363  closeInputFile();
364  }
365  }
template<>
void art::EventProcessor::finalize< Level::Job > ( )
inline

Definition at line 369 of file EventProcessor.cc.

References art::EventProcessor::endJob(), and art::EventProcessor::timer_.

370  {
371  endJob();
372  timer_.stop();
373  }
template<>
void art::EventProcessor::finalize< Level::Run > ( )

Definition at line 338 of file EventProcessor.cc.

References art::EventProcessor::beginRunCalled_, art::EventProcessor::endRun(), art::EventProcessor::finalizeRunEnabled_, art::EventProcessor::openSomeOutputFiles(), art::EventProcessor::runPrincipal_, art::EventProcessor::setRunAuxiliaryRangeSetID(), and art::EventProcessor::writeRun().

339  {
340  assert(runPrincipal_);
341  if (!finalizeRunEnabled_)
342  return;
343  if (runPrincipal_->id().isFlush())
344  return;
345 
346  openSomeOutputFiles();
347  setRunAuxiliaryRangeSetID();
348  if (beginRunCalled_) {
349  endRun();
350  }
351  writeRun();
352 
353  finalizeRunEnabled_ = false;
354  }

Definition at line 318 of file EventProcessor.cc.

References art::EventProcessor::beginSubRunCalled_, art::EventProcessor::endSubRun(), art::EventProcessor::finalizeSubRunEnabled_, art::EventProcessor::openSomeOutputFiles(), art::EventProcessor::setSubRunAuxiliaryRangeSetID(), art::EventProcessor::subRunPrincipal_, and art::EventProcessor::writeSubRun().

319  {
320  assert(subRunPrincipal_);
321  if (!finalizeSubRunEnabled_)
322  return;
323  if (subRunPrincipal_->id().isFlush())
324  return;
325 
326  openSomeOutputFiles();
327  setSubRunAuxiliaryRangeSetID();
328  if (beginSubRunCalled_) {
329  endSubRun();
330  }
331  writeSubRun();
332 
333  finalizeSubRunEnabled_ = false;
334  }

Definition at line 384 of file EventProcessor.cc.

385  {
386  finalize<Level::SubRun>();
387  finalize<Level::Run>();
388  }

Definition at line 377 of file EventProcessor.cc.

378  {
379  finalize<Level::Run>();
380  }

Definition at line 406 of file EventProcessor.cc.

References art::EventProcessor::endPathExecutor_, and art::Granularity::Event.

407  {
408  endPathExecutor_->recordOutputClosureRequests(Granularity::Event);
409  }

Definition at line 392 of file EventProcessor.cc.

References art::EventProcessor::endPathExecutor_, and art::Granularity::Run.

393  {
394  endPathExecutor_->recordOutputClosureRequests(Granularity::Run);
395  }

Definition at line 399 of file EventProcessor.cc.

References art::EventProcessor::endPathExecutor_, and art::Granularity::SubRun.

400  {
401  endPathExecutor_->recordOutputClosureRequests(Granularity::SubRun);
402  }
template<typename T , typename H >
void art::fill_ptr_list ( std::list< Ptr< T >> &  ptrs,
H const &  h 
)

Definition at line 473 of file Ptr.h.

474 {
475  for (std::size_t i = 0, sz = h->size(); i != sz; ++i) {
476  ptrs.emplace_back(h, i);
477  }
478 }
template<typename T , typename H >
void art::fill_ptr_vector ( std::vector< Ptr< T >> &  ptrs,
H const &  h 
)

Definition at line 464 of file Ptr.h.

Referenced by cheat::CheckBackTracking::analyze(), cheat::RecoCheckAna::analyze(), shower::TCShowerTemplateMaker::analyze(), shower::TCShowerElectronLikelihood::analyze(), shower::TCShowerAnalysis::analyze(), opdet::FlashPurityCheckAna::analyze(), cluster::ClusterAna::analyze(), pfpf::PFPAna::analyze(), hit::MagDriftAna::analyze(), cluster::DBclusterAna::analyze(), hit::GausHitFinderAna::analyze(), NuShowerEff::analyze(), ClusteringValidation::ClusteringValidation::analyze(), evd::AnalysisBaseDrawer::CalorShower(), evd::AnalysisBaseDrawer::DrawDeDx(), evd::AnalysisBaseDrawer::DrawKineticEnergy(), simfilter::FilterNoDirtNeutrinos::filter(), trkf::BezierTrackerModule::GetHitsFromClusters(), shower::TCShower::getShowersWithoutSlices(), trkf::SeedFinderModule::GetSortedHitsFromClusters(), evd::RecoBaseDrawer::GetSpacePoints(), evwgh::GenieWeightCalc::GetWeight(), ems::MergeEMShower3D::mcinfo(), wc::CellTree::processCalib(), DUNE::NeutrinoShowerEff::processEff(), DUNE::NeutrinoTrackingEff::processEff(), DUNE::MuonTrackingEff::processEff(), wc::CellTree::processMC(), wc::CellTree::processOpFlash(), wc::CellTree::processOpHit(), wc::CellTree::processRaw(), wc::CellTree::processSpacePoint(), wc::CellTree::processTrigger(), event::EventMaker::produce(), hit::DisambigCheater::produce(), vertex::VertexCheater::produce(), shwf::ShowerCheater::produce(), event::EventCheater::produce(), apa::APAHitFinder::produce(), sppt::TTSpacePointFinder::produce(), cluster::SimpleLineCluster::produce(), trkf::BezierTrackerModule::produce(), trkf::TrackCheater::produce(), calo::BezierCalorimetry::produce(), cluster::ClusterCheater::produce(), pid::Chi2ParticleID::produce(), evwgh::EventWeight::produce(), cluster::DBCluster3D::produce(), CRHitRemoval::produce(), cluster::TrajCluster::produce(), cluster::BlurredClustering::produce(), shower::EMShower::produce(), shower::TCShower::produce(), cosmic::CosmicTrackTagger::produce(), cosmic::CosmicClusterTagger::produce(), reco3d::SpacePointSolver::produce(), trkf::CCTrackMaker::produce(), calo::Calorimetry::produce(), lbne::PhotonCounterT0Matching::produce(), trkf::PMAlgTrajFitter::produce(), t0::MCTruthT0Matching::produce(), vertex::FeatureVertexFinder::produce(), trkf::PMAlgTrackMaker::produce(), trkf::CosmicTracker::produce(), cheat::PhotonBackTracker::Rebuild(), apa::DisambigAlg::RunDisambig(), nnet::TrainingDataAlg::setDataEventData(), and tss::TrackShowerHits::sortHits().

465 {
466  for (std::size_t i = 0, sz = h->size(); i != sz; ++i) {
467  ptrs.emplace_back(h, i);
468  }
469 }
static void art::fillTreeBranches ( TTree *  ,
vector< TBranch * > const &  branches,
bool  saveMemory,
int64_t  threshold 
)
static

Definition at line 133 of file RootOutputTree.cc.

Referenced by art::RootOutputTree::fillTree().

137  {
138  for (auto const b : branches) {
139  auto bytesWritten = b->Fill();
140  if (saveMemory && (bytesWritten > threshold)) {
141  b->FlushBaskets();
142  b->DropBaskets("all");
143  }
144  }
145  }
bool art::find_config ( std::string const &  filename,
std::string const &  search_path_spec,
std::string &  full_path 
)

Definition at line 13 of file find_config.cc.

References e.

16 {
17  try {
18  cet::search_path sp(search_path_spec);
19  if (!sp.find_file(filename, full_path)) {
20  return false;
21  }
22  }
23  catch (cet::exception const& e) {
24  if (e.root_cause() == "getenv") {
25  // Assume file is findable as specified.
26  full_path = filename;
27  } else {
28  throw;
29  }
30  }
31  return true;
32 }
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
template<typename COLLECTION >
void art::flattenCollections ( std::vector< COLLECTION const * > const &  in,
COLLECTION &  out 
)

Definition at line 283 of file CollectionUtilities.h.

References concatContainers().

Referenced by art::detail::mix_offset< cet::map_vector< P > >::offset().

285 {
286  typename COLLECTION::size_type total_size = 0;
287  for (auto collptr : in) {
288  if (collptr != nullptr) {
289  total_size += collptr->size();
290  }
291  }
292  out.reserve(total_size);
293  for (auto collptr : in) {
294  if (collptr != nullptr) {
295  concatContainers(out, *collptr);
296  }
297  }
298 }
std::enable_if_t< detail::has_three_arg_insert< CONTAINER >::value > concatContainers(CONTAINER &out, CONTAINER const &in)
template<typename COLLECTION , typename OFFSETS >
void art::flattenCollections ( std::vector< COLLECTION const * > const &  in,
COLLECTION &  out,
OFFSETS &  offsets 
)

Definition at line 303 of file CollectionUtilities.h.

References in, and art::detail::mix_offset< C >::offset().

306 {
307  offsets.clear();
308  offsets.reserve(in.size());
309  typename COLLECTION::size_type current_offset{};
310  for (auto collptr : in) {
311  if (collptr == nullptr)
312  continue;
313 
314  auto const delta = detail::mix_offset<COLLECTION>::offset(*collptr);
315  offsets.push_back(current_offset);
316  current_offset += delta;
317  }
318  flattenCollections<COLLECTION>(in, out); // 1.
319 }
ifstream in
Definition: comparison.C:7
template<typename T >
void art::flattenCollections ( std::vector< PtrVector< T > const * > const &  in,
PtrVector< T > &  out 
)

Definition at line 324 of file CollectionUtilities.h.

References in, art::errors::LogicError, and art::detail::verifyPtrCollection().

326 {
327  // Extra checks are required to verify that the PtrVectors are
328  // compatible.
329  if (!detail::verifyPtrCollection(in)) {
331  << "Attempt to flatten incompatible PtrVectors "
332  << "referring to different ProductIDs.\n";
333  }
334  flattenCollections<PtrVector<T>>(in, out); // 1
335 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
ifstream in
Definition: comparison.C:7
bool verifyPtrCollection(iterator beg, iterator end, art::ProductID id={}, art::EDProductGetter const *getter=nullptr)
template<typename T , typename OFFSETS >
void art::flattenCollections ( std::vector< PtrVector< T > const * > const &  in,
PtrVector< T > &  out,
OFFSETS &  offsets 
)

Definition at line 340 of file CollectionUtilities.h.

References in, art::errors::LogicError, and art::detail::verifyPtrCollection().

343 {
344  // Extra checks are required to verify that the PtrVectors are
345  // compatible.
346  if (!detail::verifyPtrCollection(in)) {
348  << "Attempt to flatten incompatible PtrVectors "
349  << "referring to different ProductIDs.\n";
350  }
351  flattenCollections<PtrVector<T>>(in, out, offsets); // 2.
352 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
ifstream in
Definition: comparison.C:7
bool verifyPtrCollection(iterator beg, iterator end, art::ProductID id={}, art::EDProductGetter const *getter=nullptr)
template<typename A , typename B , typename D , typename F >
void art::for_each_group ( art::Assns< A, B, D > const &  assns,
func 
)

Helper functions to access associations in order.

Template Parameters
Atype of association being read
Ftype of functor to be called on each associated group
Parameters
assnsthe association being read
funcfunctor to be called on each associated group

This function takes two input arguments, a constant reference to the association data product itself (assns), and the function (func) to be operated on each of the group of associated objects. This function represents the association data product as a range of ranges representing the right hand side in the collection, hence the function provided as the second argument should assume that it will be operating on a range of art::Ptr to the associated data products grouped by the data product they are associated with.

Example: assuming that a module with input tag stored in fTrackTag has created associations of each track to its hits, the total charge for each track can be extracted by:

auto assns = art::getValidHandle<art::Assns<recob::Track, recob::Hit>>
(fTrackTag);
std::vector<double> totalCharge;
[&totalCharge](auto hits)
{
double total = 0.;
for (auto iHit = begin(hits); iHit != end(hits); ++iHit)
total += (*iHit)->Integral();
totalCharge.push_back(total);
}
);

A number of important points need to be realised about this example:

  • the requirements of this function translate, for this example, into:
    • at the creation of the associations data product, for each track the complete sequence of hits must be associated, one hit after the other (via addSingle); if the order of the hits is relevant (it is not in this specific example), hits must be associated in that order
    • each track must have at least one associated hit;
    • the original association has to be stored with recob::Track as left key and recob::Hit as right key;
  • we use here a lambda function as func; any object behaving as a function and able to accept the range of hits as its only argument will work just as well;
  • func will be called once for every track (but if a track has no associated hit, that track will be skipped, and if a track appears in more than one association sequence, like in (T1,H1) (T1,H2) (T2,H4) (T1,H3), then that track will appear as many times);
  • func does not return any value: the results are accumulated in a new sequence;
  • func receives a range of art pointers (art::Ptr<recob::Hit>) which needs to be navigated with the begin()/end() free functions (don't specify their namespace: C++ will figure out!); double dereferencing is needed: the first (*iHit) will turn the range iterator into the pointed art::Ptr<recob::Hit>, and the second ((...)->Integral()) accesses the recob::Hit pointed by the art pointer;
  • func does not know which track the hits are associated to, and it assumes that the first sequence of hits is associated to the first track (so that its total charge will be available in totalCharge[0]), the second sequence to the second track (totalCharge[1]) and so on.

Therefore, for a assns sequence like

(T1,H1) (T1,H2) (T2,H4) (T2,H6) (T1,H5)

the function for_each_group() will execute two calls:

func({ H1, H2 })
func({ H4, H6, H5 })

dealing with the hits associated to T1 first, and T2 next.

Definition at line 111 of file AssnsAlgorithms.h.

References a1, and a2.

Referenced by util::for_each_associated_group().

112  {
113  ranges::for_each(assns | ranges::view::all |
114  ranges::view::group_by([](auto a1, auto a2) {
115  return a1.first == a2.first;
116  }) |
117  ranges::view::transform([](auto pairs) {
118  return pairs | ranges::view::values;
119  }),
120  func);
121  }
#define a2
#define a1
template<typename A , typename B , typename D , typename F >
void art::for_each_group_with_left ( art::Assns< A, B, D > const &  assns,
func 
)

Definition at line 141 of file AssnsAlgorithms.h.

References evd::details::begin(), for_each_pair(), and left().

142  {
143  for_each_pair(assns, [&func](auto rng) {
144  auto rights = rng | ranges::view::values;
145  auto lefts = rng | ranges::view::keys;
146  auto const& left = **ranges::begin(lefts);
147  func(left, rights);
148  });
149  }
std::vector< evd::details::RawDigitInfo_t >::const_iterator begin(RawDigitCacheDataClass const &cache)
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
void for_each_pair(art::Assns< A, B, D > const &assns, F func)
template<typename A , typename B , typename D , typename F >
void art::for_each_pair ( art::Assns< A, B, D > const &  assns,
func 
)

Definition at line 153 of file AssnsAlgorithms.h.

References a1, and a2.

Referenced by for_each_group_with_left().

154  {
155  ranges::for_each(assns | ranges::view::all |
156  ranges::view::group_by(
157  [](auto a1, auto a2) { return a1.first == a2.first; }),
158  func);
159  }
#define a2
#define a1
constexpr auto art::fullRun ( )

Definition at line 24 of file ProductSemantics.h.

25  {
26  return FullSemantic<Level::Run>{};
27  }
constexpr auto art::fullSubRun ( )

Definition at line 29 of file ProductSemantics.h.

30  {
31  return FullSemantic<Level::SubRun>{};
32  }
template<typename T >
BranchDescription const& art::get_ProductDescription ( BranchType  branch_type,
std::string const &  module_label,
std::string const &  instance_name 
)
template<typename T >
BranchDescription const& art::get_ProductDescription ( Principal const &  principal,
std::string const &  module_label,
std::string const &  instance_name 
)
art::BranchDescription const & art::get_ProductDescription ( TypeID  type_id,
BranchType  branch_type,
std::string const &  module_label,
std::string const &  instance_name 
)

Definition at line 14 of file get_ProductDescription.cc.

References get_ProductDescription(), and instance.

18 {
20  tid,
21  ServiceHandle<TriggerNamesService const> {}->getProcessName(),
22  ProductMetaData::instance().productList(),
23  branch_type,
24  module_label,
25  instance_name); // 5.
26 }
BranchDescription const & get_ProductDescription(BranchType branch_type, std::string const &module_label, std::string const &instance_name)
const std::string instance
art::BranchDescription const & art::get_ProductDescription ( TypeID  type_id,
Principal const &  principal,
std::string const &  module_label,
std::string const &  instance_name 
)

Definition at line 30 of file get_ProductDescription.cc.

References art::Principal::branchType(), get_ProductDescription(), instance, art::Principal::processConfiguration(), and art::ProcessConfiguration::processName().

34 {
35  return get_ProductDescription(type_id,
36  principal.processConfiguration().processName(),
37  ProductMetaData::instance().productList(),
38  principal.branchType(),
39  module_label,
40  instance_name); // 5.
41 }
BranchDescription const & get_ProductDescription(BranchType branch_type, std::string const &module_label, std::string const &instance_name)
const std::string instance
art::BranchDescription const & art::get_ProductDescription ( TypeID  tid,
std::string const &  process_name,
ProductList const &  product_list,
BranchType  branch_type,
std::string const &  module_label,
std::string const &  instance_name 
)

Definition at line 45 of file get_ProductDescription.cc.

References art::TypeID::friendlyClassName(), and art::errors::ProductRegistrationFailure.

51 {
52  BranchKey const bk{type_id.friendlyClassName(),
53  module_label,
54  instance_name,
55  process_name,
56  branch_type};
57  auto const it = product_list.find(bk);
58  if (it == product_list.end()) {
60  "art::get_ProductDescription"}
61  << "No product is registered for\n"
62  << " process name: '" << bk.processName_ << "'\n"
63  << " module label: '" << bk.moduleLabel_ << "'\n"
64  << " product friendly class name: '" << bk.friendlyClassName_ << "'\n"
65  << " product instance name: '" << bk.productInstanceName_ << "'\n"
66  << " branch type: '" << branch_type << "'\n";
67  }
68  return it->second;
69 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::string const & art::getCanvasReleaseVersion ( )

Definition at line 6 of file GetReleaseVersion.cc.

6  {
7  static std::string const releaseVersion{"v3_03_03"};
8  return releaseVersion;
9  }
template<class COLLECTION >
void art::getElementAddresses ( COLLECTION const &  coll,
const std::type_info &  iToType,
const std::vector< unsigned long > &  iIndices,
std::vector< void const * > &  oPtr 
)

Definition at line 67 of file getElementAddresses.h.

References art::detail::maybeCastObj().

71 {
72  typedef COLLECTION product_type;
73  oPtr.reserve(iIndices.size());
74  for (std::vector<unsigned long>::const_iterator itIndex = iIndices.begin(),
75  itEnd = iIndices.end();
76  itIndex != itEnd;
77  ++itIndex) {
78  auto it = coll.begin();
79  advance(it, *itIndex);
80  oPtr.push_back(detail::maybeCastObj(
81  detail::GetProduct<product_type>::address(it), iToType));
82  }
83 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
intermediate_table::const_iterator const_iterator
template<typename T >
void art::getElementAddresses ( cet::map_vector< T > const &  obj,
const std::type_info &  iToType,
const std::vector< unsigned long > &  iIndices,
std::vector< void const * > &  oPtr 
)

Definition at line 87 of file getElementAddresses.h.

References art::detail::value_type_helper::look_past_pair(), art::detail::maybeCastObj(), art::detail::value_type_helper::starts_with_pair(), and uniform_type_name().

91 {
92  typedef cet::map_vector<T> product_type;
93  typedef typename product_type::const_iterator iter;
94  detail::value_type_helper vh;
95  std::string const wanted_type =
96  uniform_type_name(cet::demangle_symbol(iToType.name()));
97  static size_t pos = vh.look_past_pair<T>();
98  oPtr.reserve(iIndices.size());
99  if ((pos < wanted_type.size()) && vh.starts_with_pair(wanted_type, pos)) {
100  // Want value_type.
101  for (std::vector<unsigned long>::const_iterator itIndex = iIndices.begin(),
102  itEnd = iIndices.end();
103  itIndex != itEnd;
104  ++itIndex) {
105  iter it = obj.find(cet::map_vector_key(*itIndex));
106  oPtr.push_back(
107  detail::maybeCastObj((it == obj.end()) ? 0 : &(*it), iToType));
108  }
109  } else {
110  // Want mapped_type.
111  for (std::vector<unsigned long>::const_iterator itIndex = iIndices.begin(),
112  itEnd = iIndices.end();
113  itIndex != itEnd;
114  ++itIndex) {
115  oPtr.push_back(detail::maybeCastObj(
116  obj.getOrNull(cet::map_vector_key(*itIndex)), iToType));
117  }
118  }
119 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
std::string uniform_type_name(std::type_info const &tid)
intermediate_table::const_iterator const_iterator
std::string const & art::getFileFormatEra ( )

Definition at line 25 of file GetFileFormatEra.cc.

Referenced by art::MixHelper::openAndReadMetaData_(), read_all_parameter_sets(), art::RootOutputFile::writeFileCatalogMetadata(), and art::RootOutputFile::writeFileFormatVersion().

26  {
27  static std::string const era = "ART_2011a";
28  return era;
29  }
int art::getFileFormatVersion ( )

Definition at line 47 of file GetFileFormatVersion.cc.

Referenced by art::RootOutputFile::writeFileCatalogMetadata(), and art::RootOutputFile::writeFileFormatVersion().

48  {
49  return 12;
50  }
MallocOptionSetter & art::getGlobalOptionSetter ( )

Definition at line 207 of file MallocOpts.cc.

References global_malloc_options.

Referenced by art::MemoryAdjuster::MemoryAdjuster().

208  {
209  return global_malloc_options;
210  }
MallocOptionSetter global_malloc_options
Definition: MallocOpts.cc:204
int art::getSigNum ( )

Definition at line 55 of file UnixSignalHandlers.cc.

References signum_value.

56  {
57  std::lock_guard<decltype(signum_lock)> lock{signum_lock};
58  int const rc{signum_value};
59  ++signum_value;
60  return rc;
61  }
volatile int signum_value
std::mutex signum_lock
std::string art::glob2reg ( std::string  pattern)

Definition at line 19 of file RegexMatch.cc.

Referenced by regexMatch().

20  {
21  cet::replace_all(pattern, "*", ".*");
22  cet::replace_all(pattern, "?", ".");
23  return pattern;
24  }
bool art::greaterBySize ( RootSizeOnDisk::Record const &  lhs,
RootSizeOnDisk::Record const &  rhs 
)

Definition at line 55 of file RootSizeOnDisk.cc.

References art::RootSizeOnDisk::Record::size().

Referenced by art::RootSizeOnDisk::fillLevel2(), and art::RootSizeOnDisk::RootSizeOnDisk().

57 {
58  return lhs.size() > rhs.size();
59 }
constexpr auto art::highest_level ( )
noexcept

Definition at line 39 of file Level.h.

Referenced by art::EventProcessor::advanceItemType(), is_highest_level(), art::EventProcessor::levelsToProcess(), and art::EventProcessor::process().

40  {
41  return static_cast<Level>(0);
42  }
Level
Definition: Level.h:12
template<Direction Dir>
constexpr auto art::index_for_dereferencing ( std::size_t const  i)

Definition at line 95 of file AssnsIter.h.

References Forward.

96  {
97  return (Dir == Direction::Forward) ? i : i - 1;
98  }
void art::installCustomHandler ( const int  signum,
CFUNC  func 
)

Definition at line 133 of file UnixSignalHandlers.cc.

References disableAllSigs(), disableRTSigs(), installSig(), and reenableSigs().

Referenced by setupSignals().

134  {
135  sigset_t oldset;
136  art::disableAllSigs(&oldset);
137 #if defined(__linux__)
139 #endif
140  art::installSig(signum, func);
141  art::reenableSigs(&oldset);
142  }
void reenableSigs(sigset_t *oldset)
void disableRTSigs()
void disableAllSigs(sigset_t *oldset)
void installSig(const int signum, CFUNC func)
void art::installSig ( const int  signum,
CFUNC  func 
)

Definition at line 147 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

Referenced by installCustomHandler().

148  {
149  // set up my RT signal now
150  struct sigaction act;
151  memset(&act, 0, sizeof(act));
152  act.sa_sigaction = func;
153  act.sa_flags = SA_RESTART;
154 
155  // get my signal number
156  int mysig = signum;
157  if (mysig == SIGKILL) {
158  perror("Cannot install handler for KILL signal");
159  return;
160  } else if (mysig == SIGSTOP) {
161  perror("Cannot install handler for STOP signal");
162  return;
163  }
164 
165  if (sigaction(mysig, &act, nullptr) != 0) {
166  perror("sigaction failed");
167  abort();
168  }
169 
170  sigset_t newset;
171  MUST_BE_ZERO(sigemptyset(&newset));
172  MUST_BE_ZERO(sigaddset(&newset, mysig));
173  MUST_BE_ZERO(pthread_sigmask(SIG_UNBLOCK, &newset, 0));
174  }
#define MUST_BE_ZERO(fun)
constexpr bool art::is_above_most_deeply_nested_level ( Level const  l)
noexcept

Definition at line 63 of file Level.h.

References most_deeply_nested_level(), and underlying_value().

64  {
66  }
constexpr auto most_deeply_nested_level() noexcept
Definition: Level.h:51
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:25
bool art::is_assns ( TypeID const &  tid)
inline

Definition at line 145 of file TypeID.h.

References art::TypeID::className().

Referenced by checkDictionaries(), art::detail::createProductLookups(), name_of_assns_base(), and name_of_assns_partner().

146 {
147  return is_assns(tid.className());
148 }
bool is_assns(std::string const &type_name)
Definition: TypeID.h:151
bool art::is_assns ( std::string const &  type_name)
inline

Definition at line 151 of file TypeID.h.

References is_instantiation_of(), and s.

152 {
153  using namespace std::string_literals;
154  return is_instantiation_of(type_name, "art::Assns"s);
155 }
Float_t s
Definition: plot.C:23
bool is_instantiation_of(TypeID const &tid, std::string const &template_name)
Definition: TypeID.h:165
bool art::is_glob ( std::string const &  pattern)

Definition at line 13 of file RegexMatch.cc.

Referenced by art::EventSelector::init().

14  {
15  return (pattern.find_first_of("*?") != std::string::npos);
16  }
constexpr bool art::is_highest_level ( Level const  l)
noexcept

Definition at line 75 of file Level.h.

References highest_level().

76  {
77  return l == highest_level();
78  }
constexpr auto highest_level() noexcept
Definition: Level.h:39
bool art::is_instantiation_of ( std::string const &  type_name,
std::string const &  template_name 
)
inline

Definition at line 158 of file TypeID.h.

Referenced by is_assns(), is_instantiation_of(), and name_of_unwrapped_product().

160 {
161  return type_name.find(template_name + '<') == 0ull;
162 }
bool art::is_instantiation_of ( TypeID const &  tid,
std::string const &  template_name 
)
inline

Definition at line 165 of file TypeID.h.

References art::TypeID::className(), and is_instantiation_of().

166 {
167  return is_instantiation_of(tid.className(), template_name);
168 }
bool is_instantiation_of(TypeID const &tid, std::string const &template_name)
Definition: TypeID.h:165
constexpr bool art::is_level_contained_by ( Level const  l1,
Level const  l2 
)
noexcept

Definition at line 81 of file Level.h.

References underlying_value().

82  {
83  return underlying_value(l1) > underlying_value(l2);
84  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:25
bool art::is_modifier ( ModuleType  mt)
inline

Definition at line 59 of file ModuleType.h.

References FILTER, and PRODUCER.

60 {
61  return mt == ModuleType::FILTER || mt == ModuleType::PRODUCER;
62 }
constexpr bool art::is_most_deeply_nested_level ( Level const  l)
noexcept

Definition at line 69 of file Level.h.

References most_deeply_nested_level().

70  {
71  return l == most_deeply_nested_level();
72  }
constexpr auto most_deeply_nested_level() noexcept
Definition: Level.h:51
bool art::is_observer ( ModuleType  mt)
inline

Definition at line 53 of file ModuleType.h.

References ANALYZER, and OUTPUT.

Referenced by art::PathsInfo::makeAndAppendPath(), and art::PathManager::processOnePathConfig_().

54 {
55  return mt == ModuleType::ANALYZER || mt == ModuleType::OUTPUT;
56 }
template<Level L = Level::Event>
constexpr bool art::is_valid ( IDNumber_t< L > const  id)

Definition at line 112 of file IDNumber.h.

Referenced by art::EventRange::is_full_subRun(), art::EventRange::is_valid(), art::RangeSet::ranges(), and lar::sparse_vector< float >::void_range().

113  {
114  return id != IDNumber<L>::invalid();
115  }
bool art::isAncestor ( ProcessHistory const &  a,
ProcessHistory const &  b 
)

Definition at line 49 of file ProcessHistory.cc.

References art::ProcessHistory::data(), and art::ProcessHistory::size().

Referenced by isDescendant(), and art::detail::orderedProcessNamesCollection().

50  {
51  if (a.size() >= b.size())
52  return false;
54  for (const_iterator itA = a.data().begin(),
55  itB = b.data().begin(),
56  itAEnd = a.data().end();
57  itA != itAEnd;
58  ++itA, ++itB) {
59  if (*itA != *itB)
60  return false;
61  }
62  return true;
63  }
intermediate_table::const_iterator const_iterator
bool art::isDescendant ( art::ProcessHistory const &  a,
art::ProcessHistory const &  b 
)
inline

Definition at line 173 of file ProcessHistory.h.

References isAncestor().

174 {
175  return isAncestor(b, a);
176 }
bool isAncestor(ProcessHistory const &a, ProcessHistory const &b)
template<class L , class R , class D , Direction Dir>
constexpr auto const& art::left ( const_AssnsIter< L, R, D, Dir > const &  a,
const_AssnsIter< L, R, D, Dir > const &  b 
)

Definition at line 104 of file AssnsIter.h.

References Forward.

Referenced by recob::TrackTrajectory::AtLeastValidTrajectoryPoints(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinks(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinksTrial(), lar_cluster3d::ConvexHullPathFinder::breakClusterByMaxDefect(), lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::buildConvexHull(), lar_cluster3d::StandardHit3DBuilder::BuildHit3D(), lar_cluster3d::kdTree::BuildKdTree(), lar_cluster3d::ClusterPathFinder::buildVoronoiDiagram(), lar_cluster3d::VoronoiPathFinder::buildVoronoiDiagram(), voronoi2d::VoronoiDiagram::ComputeFaceArea(), fhicl::detail::ValidateThenSet::delegated_parameter(), cluster::TrajCluster::endJob(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), evgen::NUANCEGen::FillHistograms(), evgen::NDKGen::FillHistograms(), evgen::GENIEGen::FillHistograms(), lar_cluster3d::MinSpanTreeAlg::FindBestPathInCluster(), voronoi2d::VoronoiDiagram::findBoundingBox(), lar_cluster3d::StandardHit3DBuilder::findGoodTriplets(), reco_tool::CandHitDerivative::findHitCandidates(), reco_tool::CandHitMorphological::findHitCandidates(), reco_tool::WaveformTools::findPeaks(), for_each_group_with_left(), mf::service::ELdestination::formSummary(), voronoi2d::VoronoiDiagram::getConvexHull(), reco_tool::WaveformTools::getTruncatedMeanRMS(), art::TimeTracker::logToDestination_(), lar_cluster3d::Cluster3D::MakeAndSavePCAPoints(), lar_cluster3d::ClusterMergeAlg::ModifyClusters(), operator!=(), art::const_AssnsIter< L, R, D, Dir >::operator<(), util::flags::operator<(), util::flags::operator<<(), art::const_AssnsIter< L, R, D, Dir >::operator<=(), art::const_AssnsIter< L, R, D, Dir >::operator>(), art::const_AssnsIter< L, R, D, Dir >::operator>=(), lar_cluster3d::ConvexHullPathFinder::orderHitsAlongEdge(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), nutools::dbi::Table::PrintColumns(), lar_pandora::LArPandoraEventDump::PrintProperty(), hit::GausHitFinder::produce(), boost::python::detail::proxy_group< Proxy >::replace(), lar_content::LArPcaHelper::RunPca(), lar_cluster3d::MinSpanTreeAlg::RunPrimsAlgorithm(), sort_pred(), sort_pred2(), lar_cluster3d::Cluster3D::splitClustersWithMST(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), lar_cluster3d::VoronoiPathFinder::subDivideCluster(), art::MemoryTracker::summary_(), throw_if_not_disjoint(), cluster::HoughTransformCounters< KEY, COUNTER, SIZE, ALLOC, SUBCOUNTERS >::unchecked_add_range_max(), cluster::HoughTransformCounters< KEY, COUNTER, SIZE, ALLOC, SUBCOUNTERS >::unchecked_set_range(), and util::flags::Bits_t< Storage_t >::unsetBits().

106  {
107  return (Dir == Direction::Forward) ? a : b;
108  }
constexpr auto art::level_down ( Level const  l)
noexcept

Definition at line 57 of file Level.h.

References underlying_value().

58  {
59  return static_cast<Level>(underlying_value(l) + 1);
60  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:25
Level
Definition: Level.h:12
constexpr auto art::level_up ( Level const  l)
noexcept

Definition at line 45 of file Level.h.

References underlying_value().

Referenced by most_deeply_nested_level().

46  {
47  return static_cast<Level>(underlying_value(l) - 1);
48  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:25
Level
Definition: Level.h:12
auto art::make_product_descriptions ( ProductList const &  productList)
inline

Definition at line 19 of file ProductList.h.

20  {
21  ProductDescriptions result;
22  cet::transform_all(productList, back_inserter(result), [](auto const& pr) {
23  return pr.second;
24  });
25  return result;
26  }
std::vector< BranchDescription > ProductDescriptions
template<typename T >
std::enable_if_t<std::is_class<T>::value, tool_return_type<T> > art::make_tool ( fhicl::ParameterSet const &  pset)

Definition at line 19 of file make_tool.h.

References art::errors::Configuration, e, fhicl::ParameterSet::get(), art::Suffixes::tool(), and fhicl::detail::atom::value().

20  {
21  cet::BasicPluginFactory factory{Suffixes::tool(), "makeTool"};
22  std::string const libspec{pset.get<std::string>("tool_type")};
23  tool_return_type<T> result;
24  try {
25  result = detail::tool_type<T>::make_plugin(factory, libspec, pset);
26  }
27  catch (cet::exception const& e) {
28  throw Exception(errors::Configuration, "make_tool: ", e)
29  << "Exception caught while processing plugin spec: " << libspec << '\n';
30  }
31  return result;
32  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
template<typename T >
std::enable_if_t<std::is_function<T>::value, tool_return_type<T> > art::make_tool ( fhicl::ParameterSet const &  pset,
std::string const &  function_tool_type 
)

Definition at line 36 of file make_tool.h.

References art::errors::Configuration, e, fhicl::ParameterSet::get(), art::Suffixes::tool(), and fhicl::detail::atom::value().

38  {
39  cet::BasicPluginFactory factory{
40  Suffixes::tool(), "toolFunction", "toolType"};
41  std::string const libspec{pset.get<std::string>("tool_type")};
42  tool_return_type<T> result;
43  try {
44  result = detail::tool_type<T>::make_plugin(
45  factory, libspec, pset, function_tool_type);
46  }
47  catch (cet::exception const& e) {
48  throw Exception(errors::Configuration, "make_tool: ", e)
49  << "Exception caught while processing plugin spec: " << libspec << '\n';
50  }
51  return result;
52  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
template<typename T , typename TableConfig >
std::enable_if_t<std::is_class<T>::value, tool_return_type<T> > art::make_tool ( TableConfig const &  tc)
inline

Definition at line 56 of file make_tool.h.

References fhicl::detail::atom::value().

57  {
58  return make_tool<T>(tc.get_PSet());
59  }
template<typename T , typename TableConfig >
std::enable_if_t<std::is_function<T>::value, tool_return_type<T> > art::make_tool ( TableConfig const &  tc,
std::string const &  function_tool_type 
)
inline

Definition at line 63 of file make_tool.h.

64  {
65  return make_tool<T>(tc.get_PSet(), function_tool_type);
66  }
static void art::markAncestors ( ProductProvenance const &  iInfo,
BranchMapper const &  iMapper,
std::map< ProductID, bool > &  oMap,
std::set< ProductID > &  oMapperMissing 
)
static

Definition at line 54 of file ProvenanceCheckerOutput_module.cc.

References art::BranchMapper::branchToProductProvenance(), art::ProductProvenance::parentage(), and art::Parentage::parents().

Referenced by art::ProvenanceCheckerOutput::write().

58  {
59  for (art::ProductID const parent : iInfo.parentage().parents()) {
60  // Don't look for parents if we've previously looked at the parents
61  if (oMap.find(parent) == oMap.end()) {
62  // use side effect of calling operator[] which is if the item isn't
63  // there it will add it as 'false'
64  oMap[parent];
65  cet::exempt_ptr<ProductProvenance const> pInfo =
66  iMapper.branchToProductProvenance(parent);
67  if (pInfo.get()) {
68  markAncestors(*pInfo, iMapper, oMap, oMapperMissing);
69  } else {
70  oMapperMissing.insert(parent);
71  }
72  }
73  }
74  }
static void markAncestors(ProductProvenance const &iInfo, BranchMapper const &iMapper, std::map< ProductID, bool > &oMap, std::set< ProductID > &oMapperMissing)
art::MFSU_0_ARG_UPDATER_DEFN ( PostBeginJob  )

Definition at line 83 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

84  {
85  mf::SetModuleName("PostBeginJob"s);
86  mf::SetIteration("BeforeEvents"s);
87  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PostEndJob  )

Definition at line 89 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

89 { mf::SetModuleName("PostEndJob"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PreSourceEvent  )

Definition at line 97 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

97 { mf::SetModuleName("SourceEvent"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PreSourceSubRun  )

Definition at line 104 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

105  {
106  mf::SetModuleName("SourceSubRun"s);
107  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PreSourceRun  )

Definition at line 114 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

114 { mf::SetModuleName("SourceRun"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PreOpenFile  )

Definition at line 121 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

121 { mf::SetModuleName("OpenFile"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PreCloseFile  )

Definition at line 125 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

125 { mf::SetModuleName("CloseFile"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_0_ARG_UPDATER_DEFN ( PostCloseFile  )

Definition at line 127 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

128  {
129  mf::SetModuleName("PostCloseFile"s);
130  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostSourceConstruction  )

Definition at line 91 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

92  {
93  mf::SetModuleName("PostSourceConstruction"s);
94  mf::SetIteration("SourceConstruction"s);
95  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostSourceEvent  )

Definition at line 99 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

100  {
101  mf::SetModuleName("PostSourceEvent"s);
102  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostSourceSubRun  )

Definition at line 109 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

110  {
111  mf::SetModuleName("PostSourceSubRun"s);
112  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostSourceRun  )

Definition at line 116 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

117  {
118  mf::SetModuleName("PostSourceRun"s);
119  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostOpenFile  )

Definition at line 123 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

123 { mf::SetModuleName("PostOpenFile"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreProcessEvent  )

Definition at line 132 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

133  {
134  mf::SetModuleName("ProcessEvent"s);
135  std::ostringstream os;
136  os << arg1.id();
137  mf::SetIteration(os.str());
138  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostProcessEvent  )

Definition at line 140 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

141  {
142  mf::SetModuleName("PostProcessEvent"s);
143  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreBeginRun  )

Definition at line 145 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

146  {
147  mf::SetModuleName("BeginRun"s);
148  std::ostringstream os;
149  os << arg1.id();
150  mf::SetIteration(os.str());
151  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostBeginRun  )

Definition at line 153 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

153 { mf::SetModuleName("PostBeginRun"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostEndRun  )

Definition at line 163 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

163 { mf::SetModuleName("PostEndRun"s); }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreBeginSubRun  )

Definition at line 165 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

166  {
167  mf::SetModuleName("BeginSubRun"s);
168  std::ostringstream os;
169  os << arg1.id();
170  mf::SetIteration(os.str());
171  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostBeginSubRun  )

Definition at line 173 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

174  {
175  mf::SetModuleName("PostBeginSubRun"s);
176  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostEndSubRun  )

Definition at line 186 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

187  {
188  mf::SetModuleName("PostEndSubRun"s);
189  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreProcessPath  )

Definition at line 191 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

192  {
193  mf::SetModuleName("ProcessPath "s + arg1);
194  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PrePathBeginRun  )

Definition at line 201 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

202  {
203  mf::SetModuleName("PathBeginRun "s + arg1);
204  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PrePathEndRun  )

Definition at line 211 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

212  {
213  mf::SetModuleName("PathEndRun "s + arg1);
214  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PrePathBeginSubRun  )

Definition at line 221 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

222  {
223  mf::SetModuleName("PathBeginSubRun "s + arg1);
224  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PrePathEndSubRun  )

Definition at line 231 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

232  {
233  mf::SetModuleName("PathEndSubRun "s + arg1);
234  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleConstruction  )

Definition at line 241 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

242  {
243  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
244  "@Construction"s);
245  mf::SetIteration("ModuleConstruction"s);
246  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleConstruction  )

Definition at line 248 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

249  {
250  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
251  "@Construction"s);
252  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleBeginJob  )

Definition at line 259 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

260  {
261  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
262  "@BeginJob"s);
263  mf::SetIteration("ModuleBeginJob"s);
264  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleBeginJob  )

Definition at line 266 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

267  {
268  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
269  "@BeginJob"s);
270  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleEndJob  )

Definition at line 272 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

273  {
274  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
275  "@EndJob"s);
276  mf::SetIteration("ModuleEndJob"s);
277  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleEndJob  )

Definition at line 279 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

280  {
281  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
282  "@EndJob"s);
283  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModule  )

Definition at line 285 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

286  {
287  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
288  "@BeginModule"s);
289  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModule  )

Definition at line 291 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

292  {
293  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
294  "@EndModule"s);
295  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleBeginRun  )

Definition at line 297 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

298  {
299  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
300  "@BeginRun"s);
301  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleBeginRun  )

Definition at line 303 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

304  {
305  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
306  "@BeginRun"s);
307  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleEndRun  )

Definition at line 309 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

310  {
311  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
312  "@EndRun"s);
313  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleEndRun  )

Definition at line 315 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

316  {
317  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
318  "@EndRun"s);
319  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleBeginSubRun  )

Definition at line 321 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

322  {
323  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
324  "@BeginSubRun"s);
325  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleBeginSubRun  )

Definition at line 327 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

328  {
329  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
330  "@BeginSubRun"s);
331  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PreModuleEndSubRun  )

Definition at line 333 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

334  {
335  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
336  "@EndSubRun"s);
337  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_1_ARG_UPDATER_DEFN ( PostModuleEndSubRun  )

Definition at line 339 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

340  {
341  mf::SetModuleName(arg1.moduleName() + ":"s + arg1.moduleLabel() +
342  "@EndSubRun"s);
343  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PreEndRun  )

Definition at line 155 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

156  {
157  mf::SetModuleName("EndRun"s);
158  std::stringstream os;
159  os << arg1;
160  mf::SetIteration(os.str());
161  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PreEndSubRun  )

Definition at line 178 of file MFStatusUpdater.cc.

References s, mf::SetIteration(), and mf::SetModuleName().

179  {
180  mf::SetModuleName("EndSubRun"s);
181  std::ostringstream os;
182  os << arg1;
183  mf::SetIteration(os.str());
184  }
Float_t s
Definition: plot.C:23
void SetIteration(string const &val)
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostProcessPath  )

Definition at line 196 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

197  {
198  mf::SetModuleName("PostProcessPath "s + arg1);
199  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostPathBeginRun  )

Definition at line 206 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

207  {
208  mf::SetModuleName("PostPathBeginRun "s + arg1);
209  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostPathEndRun  )

Definition at line 216 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

217  {
218  mf::SetModuleName("PostPathEndRun "s + arg1);
219  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostPathBeginSubRun  )

Definition at line 226 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

227  {
228  mf::SetModuleName("PostPathBeginSubRun "s + arg1);
229  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostPathEndSubRun  )

Definition at line 236 of file MFStatusUpdater.cc.

References s, and mf::SetModuleName().

237  {
238  mf::SetModuleName("PostPathEndSubRun "s + arg1);
239  }
Float_t s
Definition: plot.C:23
void SetModuleName(string const &val)
art::MFSU_2_ARG_UPDATER_DEFN ( PostBeginJobWorkers  )

Definition at line 254 of file MFStatusUpdater.cc.

References s.

255  {
256  throw cet::exception("InternalError"s) << "NOP: do not call";
257  }
Float_t s
Definition: plot.C:23
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
constexpr auto art::most_deeply_nested_level ( )
noexcept

Definition at line 51 of file Level.h.

References level_up(), and NumNestingLevels.

Referenced by is_above_most_deeply_nested_level(), and is_most_deeply_nested_level().

52  {
53  return level_up(Level::NumNestingLevels);
54  }
constexpr auto level_up(Level const l) noexcept
Definition: Level.h:45
std::string art::name_of_assns_base ( std::string  assns_type_name)

Definition at line 114 of file TypeID.cc.

References is_assns(), name_of_template_arg(), and s.

Referenced by art::detail::createProductLookups().

115 {
116  std::string result;
117  if (!is_assns(assns_type_name)) {
118  return result;
119  }
120  using namespace std::string_literals;
121  static std::string const assns_start = "art::Assns<"s;
122  if (name_of_template_arg(assns_type_name, 2) == "void"s) {
123  // Doesn't have the base we're looking for.
124  return result;
125  }
126  result = assns_start + name_of_template_arg(assns_type_name, 0) + ',' +
127  name_of_template_arg(assns_type_name, 1) + ",void>";
128  return result;
129 }
Float_t s
Definition: plot.C:23
bool is_assns(TypeID const &tid)
Definition: TypeID.h:145
std::string name_of_template_arg(std::string const &template_instance, size_t desired_arg)
Definition: TypeID.cc:46
std::string art::name_of_assns_partner ( std::string  assns_type_name)

Definition at line 99 of file TypeID.cc.

References is_assns(), name_of_template_arg(), and s.

Referenced by checkDictionaries().

100 {
101  std::string result;
102  if (!is_assns(assns_type_name)) {
103  return result;
104  }
105  static std::string const assns_start = "art::Assns<"s;
106  auto const arg0 = name_of_template_arg(assns_type_name, 0);
107  auto const arg1 = name_of_template_arg(assns_type_name, 1);
108  auto const arg2 = name_of_template_arg(assns_type_name, 2);
109  result = assns_start + arg1 + ',' + arg0 + ',' + arg2 + '>';
110  return result;
111 }
Float_t s
Definition: plot.C:23
bool is_assns(TypeID const &tid)
Definition: TypeID.h:145
std::string name_of_template_arg(std::string const &template_instance, size_t desired_arg)
Definition: TypeID.cc:46
std::string art::name_of_template_arg ( std::string const &  template_instance,
size_t  desired_arg 
)

Definition at line 46 of file TypeID.cc.

Referenced by name_of_assns_base(), name_of_assns_partner(), and name_of_unwrapped_product().

48 {
49  std::string result;
50  auto comma_count = 0ul;
51  auto template_level = 0ul;
52  auto arg_start = string::npos;
53  auto pos = 0ul;
54  pos = template_instance.find_first_of("<>,", pos);
55  while (pos != string::npos) {
56  switch (template_instance[pos]) {
57  case '<':
58  ++template_level;
59  if ((desired_arg == 0ul) && (template_level == 1ul)) {
60  // Found the begin of the desired template arg.
61  arg_start = pos + 1;
62  }
63  break;
64  case '>':
65  --template_level;
66  if ((desired_arg == comma_count) && (template_level == 0ul)) {
67  // Found the end of the desired template arg -- trim trailing
68  // whitespace
69  auto const arg_end =
70  template_instance.find_last_not_of(" \t", pos - 1) + 1;
71  result = template_instance.substr(arg_start, arg_end - arg_start);
72  return result;
73  }
74  break;
75  case ',':
76  if (template_level != 1ul) {
77  // Ignore arguments not at the first level.
78  break;
79  }
80  if (comma_count == desired_arg) {
81  // Found the end of the desired template arg.
82  result = template_instance.substr(arg_start, pos - arg_start);
83  return result;
84  }
85  ++comma_count;
86  if (comma_count == desired_arg) {
87  // Found the begin of the desired template arg.
88  arg_start = pos + 1;
89  }
90  break;
91  }
92  ++pos;
93  pos = template_instance.find_first_of("<>,", pos);
94  }
95  return result;
96 }
std::string art::name_of_unwrapped_product ( std::string const &  wrapped_name)

Definition at line 132 of file TypeID.cc.

References is_instantiation_of(), art::errors::LogicError, name_of_template_arg(), and s.

133 {
134  using namespace std::string_literals;
135  if (!is_instantiation_of(wrapped_name, "art::Wrapper"s)) {
136  throw Exception(errors::LogicError, "Can't unwrap"s)
137  << "-- attempted to get unwrapped product from non-instance of art::Wrapper."s;
138  }
139  return name_of_template_arg(wrapped_name, 0);
140 }
Float_t s
Definition: plot.C:23
bool is_instantiation_of(std::string const &type_name, std::string const &template_name)
Definition: TypeID.h:158
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::string name_of_template_arg(std::string const &template_instance, size_t desired_arg)
Definition: TypeID.cc:46
std::map<new_t, old_t> art::newToOldName ( )
inline

Definition at line 15 of file SAMMetadataTranslators.h.

Referenced by oldToNewName(), and art::NewToOld::operator()().

16  {
17  return {{"file_type", "fileType"},
18  {"data_tier", "dataTier"},
19  {"data_stream", "streamName"},
20  {"run_type", "runType"}};
21  }
std::map<new_t, old_t> art::oldToNewName ( )
inline

Definition at line 37 of file SAMMetadataTranslators.h.

References newToOldName().

Referenced by art::OldToNew::operator()().

38  {
39  auto const newToOld = newToOldName();
40  std::map<old_t, new_t> oldToNew;
41  cet::transform_all(
42  newToOld, std::inserter(oldToNew, oldToNew.begin()), [](auto const& pr) {
43  return std::make_pair(pr.second, pr.first);
44  });
45  return oldToNew;
46  }
std::map< new_t, old_t > newToOldName()
template<class A >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value, art::NotHelper< A > > art::operator! ( A const &  a)

Definition at line 284 of file Selector.h.

285 {
286  return art::NotHelper<A>(a);
287 }
bool art::operator!= ( ScheduleID  left,
ScheduleID  right 
)
inline

Definition at line 124 of file ScheduleID.h.

References right().

125 {
126  return !(left == right);
127 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool art::operator!= ( InputTag const &  left,
InputTag const &  right 
)
inlinenoexcept

Definition at line 114 of file InputTag.h.

References decode(), left(), and right().

115 {
116  return !(left == right);
117 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool art::operator!= ( TypeID const &  a,
TypeID const &  b 
)
inline

Definition at line 133 of file TypeID.h.

134 {
135  return !(a == b);
136 }
bool art::operator!= ( art::ProcessHistory const &  a,
art::ProcessHistory const &  b 
)
inline

Definition at line 167 of file ProcessHistory.h.

168 {
169  return !(a == b);
170 }
bool art::operator!= ( RefCore const &  lhs,
RefCore const &  rhs 
)
inline

Definition at line 143 of file RefCore.h.

144 {
145  return !(lhs == rhs);
146 }
bool art::operator!= ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 82 of file BranchKey.h.

83 {
84  return !(a == b);
85 }
bool art::operator!= ( ProductProvenance const &  a,
ProductProvenance const &  b 
)
inline

Definition at line 115 of file ProductProvenance.h.

116 {
117  return !(a == b);
118 }
bool art::operator!= ( FileFormatVersion const &  a,
FileFormatVersion const &  b 
)
inline

Definition at line 34 of file FileFormatVersion.h.

References ff, and operator<<().

35  {
36  return !(a == b);
37  }
bool art::operator!= ( Parentage const &  a,
Parentage const &  b 
)
inline

Definition at line 54 of file Parentage.h.

55  {
56  return !(a == b);
57  }
bool art::operator!= ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)
inline

Definition at line 56 of file ProcessConfiguration.h.

References operator<<().

57  {
58  return !(a == b);
59  }
template<typename T , typename U >
std::enable_if_t<std::is_same<T, U>::value || std::is_base_of<T, U>::value || std::is_base_of<U, T>::value, bool> art::operator!= ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)
template<class X , class Y >
bool art::operator!= ( debugging_allocator< X > const &  ,
debugging_allocator< Y > const &   
)
throw (
)

Definition at line 108 of file debugging_allocator.h.

Referenced by art::const_AssnsIter< L, R, D, Dir >::const_AssnsIter(), and art::Ptr< T >::getData_().

110  {
111  return false;
112  }
bool art::operator!= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
inline

Definition at line 211 of file FileIndex.h.

212  {
213  return lh < rh || rh < lh;
214  }
template<class A , class B >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value &&std::is_base_of< art::SelectorBase, B >::value, art::AndHelper< A, B > > art::operator&& ( A const &  a,
B const &  b 
)

Definition at line 212 of file Selector.h.

213 {
214  return art::AndHelper<A, B>(a, b);
215 }
bool art::operator< ( EventProcessHistoryID const &  lh,
EventProcessHistoryID const &  rh 
)
inline

Definition at line 17 of file EventProcessHistoryID.h.

References art::EventProcessHistoryID::eventID_.

18  {
19  return lh.eventID_ < rh.eventID_;
20  }
bool art::operator< ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)

Definition at line 22 of file ProcessConfiguration.cc.

References art::ProcessConfiguration::parameterSetID_, art::ProcessConfiguration::processName_, and art::ProcessConfiguration::releaseVersion_.

23  {
24  return std::tie(a.processName_, a.parameterSetID_, a.releaseVersion_) <
25  std::tie(b.processName_, b.parameterSetID_, b.releaseVersion_);
26  }
bool art::operator< ( RefCore const &  lhs,
RefCore const &  rhs 
)
inline

Definition at line 149 of file RefCore.h.

References art::RefCore::id().

150 {
151  return lhs.id() < rhs.id();
152 }
bool art::operator< ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 62 of file BranchKey.h.

References art::BranchKey::branchType_, art::BranchKey::friendlyClassName_, art::BranchKey::moduleLabel_, art::BranchKey::processName_, and art::BranchKey::productInstanceName_.

63 {
64  return std::tie(a.friendlyClassName_,
65  a.moduleLabel_,
66  a.productInstanceName_,
67  a.processName_,
68  a.branchType_) < std::tie(b.friendlyClassName_,
69  b.moduleLabel_,
70  b.productInstanceName_,
71  b.processName_,
72  b.branchType_);
73 }
bool art::operator< ( ProductProvenance const &  a,
ProductProvenance const &  b 
)
inline

Definition at line 102 of file ProductProvenance.h.

References art::ProductProvenance::productID().

103 {
104  return a.productID() < b.productID();
105 }
bool art::operator< ( ProductInfo const &  a,
ProductInfo const &  b 
)
inline

Definition at line 44 of file ProductInfo.h.

References art::ProductInfo::consumableType_, art::ProductInfo::instance_, art::ProductInfo::label_, art::ProductInfo::process_, and art::ProductInfo::typeID_.

Referenced by art::BranchDescription::wrappedName().

45  {
46  return std::tie(
47  a.consumableType_, a.typeID_, a.label_, a.instance_, a.process_) <
48  std::tie(
49  b.consumableType_, b.typeID_, b.label_, b.instance_, b.process_);
50  }
bool art::operator< ( TypeLabel const &  a,
TypeLabel const &  b 
)

Definition at line 45 of file TypeLabel.cc.

References art::TypeLabel::className(), art::TypeLabel::emulatedModule_, art::TypeLabel::hasEmulatedModule(), and art::TypeLabel::productInstanceName_.

46  {
47  auto const& a_class_name = a.className();
48  auto const& b_class_name = b.className();
49  auto const& a_emulated_module =
50  a.hasEmulatedModule() ? *a.emulatedModule_ : "<none>";
51  auto const& b_emulated_module =
52  b.hasEmulatedModule() ? *b.emulatedModule_ : "<none>";
53  return std::tie(a_emulated_module, a.productInstanceName_, a_class_name) <
54  std::tie(b_emulated_module, b.productInstanceName_, b_class_name);
55  }
template<typename T , typename U >
std::enable_if_t<std::is_same<T, U>::value || std::is_base_of<T, U>::value || std::is_base_of<U, T>::value, bool> art::operator< ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)
bool art::operator< ( BranchDescription const &  a,
BranchDescription const &  b 
)

Definition at line 186 of file BranchDescription.cc.

References art::BranchDescription::branchType(), art::BranchDescription::friendlyClassName(), art::BranchDescription::moduleLabel(), art::BranchDescription::processConfigurationIDs(), art::BranchDescription::processName(), art::BranchDescription::producedClassName(), art::BranchDescription::productID(), art::BranchDescription::productInstanceName(), and art::BranchDescription::psetIDs().

187  {
188  if (a.processName() < b.processName()) {
189  return true;
190  }
191  if (b.processName() < a.processName()) {
192  return false;
193  }
194  if (a.producedClassName() < b.producedClassName()) {
195  return true;
196  }
197  if (b.producedClassName() < a.producedClassName()) {
198  return false;
199  }
200  if (a.friendlyClassName() < b.friendlyClassName()) {
201  return true;
202  }
203  if (b.friendlyClassName() < a.friendlyClassName()) {
204  return false;
205  }
206  if (a.productInstanceName() < b.productInstanceName()) {
207  return true;
208  }
209  if (b.productInstanceName() < a.productInstanceName()) {
210  return false;
211  }
212  if (a.moduleLabel() < b.moduleLabel()) {
213  return true;
214  }
215  if (b.moduleLabel() < a.moduleLabel()) {
216  return false;
217  }
218  if (a.branchType() < b.branchType()) {
219  return true;
220  }
221  if (b.branchType() < a.branchType()) {
222  return false;
223  }
224  if (a.productID() < b.productID()) {
225  return true;
226  }
227  if (b.productID() < a.productID()) {
228  return false;
229  }
230  if (a.psetIDs() < b.psetIDs()) {
231  return true;
232  }
233  if (b.psetIDs() < a.psetIDs()) {
234  return false;
235  }
236  if (a.processConfigurationIDs() < b.processConfigurationIDs()) {
237  return true;
238  }
239  if (b.processConfigurationIDs() < a.processConfigurationIDs()) {
240  return false;
241  }
242  return false;
243  }
bool art::operator< ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)

Definition at line 223 of file FileIndex.cc.

References art::FileIndex::Element::eventID_.

224  {
225  bool const result = lh.eventID_ < rh.eventID_;
226  return result;
227  }
std::ostream & art::operator<< ( std::ostream &  os,
ParameterSetBlob const &  blob 
)

Definition at line 8 of file ParameterSetBlob.cc.

References art::ParameterSetBlob::pset_.

9  {
10  os << blob.pset_;
11  return os;
12  }
std::ostream& art::operator<< ( std::ostream &  os,
OutputFileStatus const  ofs 
)
inline

Definition at line 11 of file OutputFileStatus.h.

References Closed, art::errors::LogicError, Open, and Switching.

12  {
13  switch (ofs) {
14  case OutputFileStatus::Open:
15  return os << "Open";
16  case OutputFileStatus::Switching:
17  return os << "Switching";
18  case OutputFileStatus::Closed:
19  return os << "Closed";
20  default:
22  "Unknown output file status."};
23  }
24  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::ostream & art::operator<< ( std::ostream &  os,
SubRunID const &  iID 
)

Definition at line 6 of file SubRunID.cc.

References art::SubRunID::isFlush(), art::SubRunID::isValid(), art::SubRunID::run_, and art::SubRunID::subRun_.

7 {
8  os << iID.run_ << " subRun: ";
9  if (iID.isFlush()) {
10  os << "FLUSH";
11  } else if (iID.isValid()) {
12  os << iID.subRun_;
13  } else {
14  os << "INVALID";
15  }
16  return os;
17 }
std::ostream & art::operator<< ( std::ostream &  os,
EventID const &  iID 
)

Definition at line 7 of file EventID.cc.

References art::EventID::event_, art::EventID::isFlush(), art::EventID::isValid(), and art::EventID::subRun_.

8 {
9  os << iID.subRun_ << " event: ";
10  if (iID.isFlush()) {
11  os << "FLUSH";
12  } else if (iID.isValid()) {
13  os << iID.event_;
14  } else {
15  os << "INVALID";
16  }
17  return os;
18 }
std::ostream & art::operator<< ( std::ostream &  os,
art::RunID const &  iID 
)

Definition at line 6 of file RunID.cc.

References art::RunID::isFlush(), art::RunID::isValid(), and art::RunID::run_.

7 {
8  os << "run: ";
9  if (iID.isFlush()) {
10  os << "FLUSH";
11  } else if (iID.isValid()) {
12  os << iID.run_;
13  } else {
14  os << "INVALID";
15  }
16  return os;
17 }
ostream & art::operator<< ( std::ostream &  os,
const GroupSelector gs 
)

Definition at line 65 of file GroupSelector.cc.

References art::GroupSelector::print().

66 {
67  gs.print(os);
68  return os;
69 }
void print(std::ostream &os) const
std::ostream & art::operator<< ( std::ostream &  os,
BranchID const &  id 
)

Definition at line 20 of file BranchID.cc.

21  {
22  os << id.id();
23  return os;
24  }
ostream & art::operator<< ( std::ostream &  os,
TypeID const &  tid 
)

Definition at line 39 of file TypeID.cc.

References art::TypeID::print().

40 {
41  tid.print(os);
42  return os;
43 }
std::ostream & art::operator<< ( std::ostream &  os,
BranchMapper const &  p 
)
inline

Definition at line 67 of file BranchMapper.h.

References art::BranchMapper::write().

68 {
69  p.write(os);
70  return os;
71 }
std::ostream & art::operator<< ( std::ostream &  ost,
const MallocOpts opts 
)

Definition at line 26 of file MallocOpts.cc.

References art::MallocOpts::mmap_max_, art::MallocOpts::mmap_thr_, art::MallocOpts::top_pad_, and art::MallocOpts::trim_thr_.

27  {
28  ost << "mmap_max=" << opts.mmap_max_ << " trim_threshold=" << opts.trim_thr_
29  << " top_padding=" << opts.top_pad_
30  << " mmap_threshold=" << opts.mmap_thr_;
31  return ost;
32  }
std::ostream & art::operator<< ( std::ostream &  os,
ProductProvenance const &  p 
)
inline

Definition at line 108 of file ProductProvenance.h.

References art::ProductProvenance::write().

109 {
110  p.write(os);
111  return os;
112 }
std::ostream& art::operator<< ( std::ostream &  os,
BranchType const  branchType 
)
inline

Definition at line 29 of file BranchType.h.

References BranchTypeToString().

30  {
31  return os << BranchTypeToString(branchType);
32  }
std::string const & BranchTypeToString(BranchType const bt)
Definition: BranchType.cc:65
std::ostream & art::operator<< ( std::ostream &  os,
BranchKey const &  bk 
)

Definition at line 30 of file BranchKey.cc.

References art::BranchKey::branchType_, art::BranchKey::friendlyClassName_, art::BranchKey::moduleLabel_, art::BranchKey::processName_, and art::BranchKey::productInstanceName_.

31  {
32  os << "BranchKey(" << bk.friendlyClassName_ << ", " << bk.moduleLabel_
33  << ", " << bk.productInstanceName_ << ", " << bk.processName_ << ", "
34  << static_cast<BranchType>(bk.branchType_) << ')';
35  return os;
36  }
BranchType
Definition: BranchType.h:18
std::ostream & art::operator<< ( std::ostream &  os,
ProductID const  id 
)

Definition at line 32 of file ProductID.cc.

33  {
34  os << id.value();
35  return os;
36  }
std::ostream & art::operator<< ( std::ostream &  os,
Provenance const &  p 
)
inline

Definition at line 162 of file Provenance.h.

References art::Provenance::write().

163 {
164  return p.write(os);
165 }
std::ostream & art::operator<< ( std::ostream &  os,
ProcessConfiguration const &  pc 
)

Definition at line 36 of file ProcessConfiguration.cc.

References art::ProcessConfiguration::parameterSetID_, art::ProcessConfiguration::processName_, and art::ProcessConfiguration::releaseVersion_.

37  {
38  os << pc.processName_ << ' ' << pc.parameterSetID_ << ' '
39  << pc.releaseVersion_
40  << ' '; // Retain the last space for backwards compatibility
41  return os;
42  }
std::ostream & art::operator<< ( std::ostream &  os,
FileFormatVersion const &  ff 
)

Definition at line 5 of file FileFormatVersion.cc.

References art::FileFormatVersion::era_, and art::FileFormatVersion::value_.

6 {
7  os << (ff.era_.empty() ? "" : (ff.era_ + ": ")) << ff.value_;
8  return os;
9 }
TFile ff[ntarg]
Definition: Style.C:26
std::ostream & art::operator<< ( std::ostream &  os,
MasterProductRegistry const &  mpr 
)

Definition at line 123 of file MasterProductRegistry.cc.

References art::MasterProductRegistry::print().

124 {
125  mpr.print(os);
126  return os;
127 }
std::ostream& art::operator<< ( std::ostream &  os,
Parentage const &   
)
inline

Definition at line 45 of file Parentage.h.

References operator==().

46  {
47  // Unimplemented
48  return os;
49  }
std::ostream & art::operator<< ( std::ostream &  ost,
art::InputTag const &  tag 
)

Definition at line 54 of file InputTag.cc.

References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().

55  {
56  static std::string const process(", process = ");
57  ost << "InputTag: label = " << tag.label()
58  << ", instance = " << tag.instance()
59  << (tag.process().empty() ? std::string() : (process + tag.process()));
60  return ost;
61  }
std::ostream & art::operator<< ( std::ostream &  os,
TypeLabel const &  tl 
)

Definition at line 58 of file TypeLabel.cc.

References art::TypeLabel::className(), art::TypeLabel::emulatedModule(), art::TypeLabel::hasEmulatedModule(), art::TypeLabel::productInstanceName(), art::TypeLabel::supportsView(), and art::TypeLabel::transient().

59  {
60  os << "Emulated module: '"
61  << (tl.hasEmulatedModule() ? tl.emulatedModule() : "<none>") << "'\n"
62  << "Product instance name: '" << tl.productInstanceName() << "'\n"
63  << "Class name: '" << tl.className() << "'\n"
64  << "Supports views: '" << std::boolalpha << tl.supportsView()
65  << '\n'
66  << "Transient: '" << tl.transient();
67  return os;
68  }
template<typename T >
std::ostream& art::operator<< ( std::ostream &  os,
ServiceTable< T > const &  t 
)
inline

Definition at line 61 of file ServiceTable.h.

References fhicl::Table< T, KeysToIgnore >::print_allowed_configuration().

62  {
63  std::ostringstream config;
64  t.print_allowed_configuration(config, std::string(3, ' '));
65  return os << config.str();
66  }
std::ostream& art::operator<< ( std::ostream &  os,
Granularity const &  b 
)
inline

Definition at line 62 of file OutputFileGranularity.h.

References art::Granularity::Event, art::Granularity::InputFile, art::Granularity::Job, art::Granularity::Run, art::Granularity::SubRun, and art::Granularity::Unset.

63  {
64  std::string token{"Unset"};
65  switch (b()) {
66  case Granularity::Event:
67  token = "Event";
68  break;
69  case Granularity::SubRun:
70  token = "SubRun";
71  break;
72  case Granularity::Run:
73  token = "Run";
74  break;
75  case Granularity::InputFile:
76  token = "InputFile";
77  break;
78  case Granularity::Job:
79  token = "Job";
80  break;
81  case Granularity::Unset:;
82  }
83  os << token;
84  return os;
85  }
constexpr BitMask< Storage > Unset(Flag_t< Storage > flag)
Returns a bit mask which unsets the specified flag.
std::ostream & art::operator<< ( ostream &  ost,
ProcessHistory const &  ph 
)

Definition at line 66 of file ProcessHistory.cc.

67  {
68  ost << "Process History = ";
69  copy_all(ph, ostream_iterator<ProcessHistory::value_type>(ost, ";"));
70  return ost;
71  }
template<typename T >
std::ostream& art::operator<< ( std::ostream &  os,
ProducerBase::Table< T > const &  t 
)
inline

Definition at line 66 of file ProducerBase.h.

67  {
68  std::ostringstream config;
69  t.print_allowed_configuration(config, std::string(3, ' '));
70  return os << config.str();
71  }
std::ostream& art::operator<< ( std::ostream &  os,
suffix_type const  st 
)
inline

Definition at line 72 of file PluginSuffixes.h.

73  {
74  return os << static_cast<std::underlying_type_t<suffix_type>>(st);
75  }
template<typename UserConfig , typename ImplicitConfig >
std::ostream& art::operator<< ( std::ostream &  os,
ProducerTable< UserConfig, ImplicitConfig > const &  t 
)
inline

Definition at line 73 of file ProducerTable.h.

References art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::print_allowed_configuration().

75  {
76  std::ostringstream config;
77  t.print_allowed_configuration(config, std::string(3, ' '));
78  return os << config.str();
79  }
template<typename PROD >
std::ostream & art::operator<< ( std::ostream &  os,
Handle< PROD > const &  h 
)
inline

Definition at line 296 of file DataViewImpl.h.

297 {
298  os << h.product() << " " << h.provenance() << " " << h.id();
299  return os;
300 }
std::ostream& art::operator<< ( std::ostream &  os,
Level const  l 
)
inline

Definition at line 87 of file Level.h.

References Event, InputFile, Job, NumNestingLevels, ReadyToAdvance, Run, SubRun, and underlying_value().

88  {
89  switch (l) {
90  case Level::Job:
91  os << "Job";
92  break;
93  case Level::InputFile:
94  os << "InputFile";
95  break;
96  case Level::Run:
97  os << "Run";
98  break;
99  case Level::SubRun:
100  os << "SubRun";
101  break;
102  case Level::Event:
103  os << "Event";
104  break;
105  case Level::NumNestingLevels:
106  os << underlying_value(Level::NumNestingLevels);
107  break;
108  case Level::ReadyToAdvance:
109  os << "ReadyToAdvance";
110  break;
111  }
112  return os;
113  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:25
std::ostream & art::operator<< ( std::ostream &  os,
EventRange const &  r 
)

Definition at line 162 of file EventRange.cc.

References art::EventRange::begin(), art::EventRange::end(), art::EventRange::is_full_subRun(), and art::EventRange::subRun().

163 {
164  os << "SubRun: " << r.subRun();
165  if (r.is_full_subRun())
166  os << " (full sub-run)";
167  else
168  os << " Event range: [" << r.begin() << ',' << r.end() << ')';
169  return os;
170 }
template<typename T >
std::ostream & art::operator<< ( std::ostream &  os,
Ptr< T > const &  p 
)

Definition at line 498 of file Ptr.h.

499 {
500  os << "(" << p.id() << ", " << p.key() << ")";
501  return os;
502 }
std::ostream& art::operator<< ( std::ostream &  os,
ProductMetaData const &  pmd 
)
inline

Definition at line 114 of file ProductMetaData.h.

References art::ProductMetaData::printBranchDescriptions().

115  {
116  pmd.printBranchDescriptions(os);
117  return os;
118  }
std::ostream& art::operator<< ( std::ostream &  os,
ModuleDescription const &  p 
)
inline

Definition at line 115 of file ModuleDescription.h.

References art::ModuleDescription::write().

116  {
117  p.write(os);
118  return os;
119  }
std::ostream & art::operator<< ( std::ostream &  os,
FileProperties const &  fp 
)

Definition at line 26 of file ClosingCriteria.cc.

References art::FileProperties::age(), art::FileProperties::nEvents(), art::FileProperties::nInputFiles(), art::FileProperties::nRuns(), art::FileProperties::nSubRuns(), and art::FileProperties::size().

27 {
28  os << "[nEvents: " << fp.nEvents() << ", nSubRuns: " << fp.nSubRuns()
29  << ", nRuns: " << fp.nRuns() << ", nInputFiles: " << fp.nInputFiles()
30  << ", size: " << fp.size() << ", age: " << fp.age().count() << "]";
31  return os;
32 }
FILE * fp
Definition: plot.C:36
std::ostream & art::operator<< ( std::ostream &  os,
RangeSet const &  rs 
)

Definition at line 356 of file RangeSet.cc.

References art::RangeSet::is_full_run(), art::RangeSet::ranges(), and art::RangeSet::run().

357 {
358  os << " Run: " << rs.run();
359  if (rs.is_full_run()) {
360  os << " (full run)";
361  return os;
362  }
363  for (auto const& er : rs.ranges()) {
364  os << "\n " << er;
365  }
366  return os;
367 }
std::ostream& art::operator<< ( std::ostream &  ost,
HLTGlobalStatus const &  hlt 
)
inline

Definition at line 176 of file HLTGlobalStatus.h.

References n, art::HLTGlobalStatus::size(), and art::HLTGlobalStatus::state().

177  {
178  std::vector<std::string> text(4);
179  text[0] = "n";
180  text[1] = "1";
181  text[2] = "0";
182  text[3] = "e";
183  for (std::size_t i{}, n{hlt.size()}; i != n; ++i)
184  ost << text.at(hlt.state(i));
185  return ost;
186  }
Char_t n[5]
template<typename T >
std::ostream& art::operator<< ( std::ostream &  os,
EDAnalyzer::Table< T > const &  t 
)
inline

Definition at line 184 of file EDAnalyzer.h.

Referenced by operator!=(), and art::MallocOpts::operator!=().

185  {
186  std::ostringstream config;
187  t.print_allowed_configuration(config, std::string(3, ' '));
188  return os << config.str();
189  }
std::ostream& art::operator<< ( std::ostream &  os,
Group const &  g 
)
inline

Definition at line 198 of file Group.h.

References art::Group::write().

199  {
200  g.write(os);
201  return os;
202  }
std::ostream & art::operator<< ( ostream &  os,
FileIndex::Element const &  el 
)

Definition at line 249 of file FileIndex.cc.

References art::FileIndex::Element::entry_, and art::FileIndex::Element::eventID_.

250  {
251  os << el.eventID_ << ": entry# " << el.entry_;
252  return os;
253  }
template<int I>
std::ostream& art::operator<< ( std::ostream &  os,
Hash< I > const &  h 
)
inline

Definition at line 250 of file Hash.h.

251  {
252  return h.print(os);
253  }
std::ostream & art::operator<< ( std::ostream &  os,
BranchDescription const &  p 
)

Definition at line 265 of file BranchDescription.cc.

References art::BranchDescription::write().

266  {
267  p.write(os);
268  return os;
269  }
std::ostream & art::operator<< ( ostream &  os,
FileIndex const &  fileIndex 
)

Definition at line 278 of file FileIndex.cc.

References e.

279  {
280 
281  os << "\nPrinting FileIndex contents. This includes a list of all Runs, "
282  "SubRuns\n"
283  << "and Events stored in the root file.\n\n";
284  os << setw(15) << "Run" << setw(15) << "SubRun" << setw(15) << "Event"
285  << setw(15) << "TTree Entry"
286  << "\n";
287  for (auto const& e : fileIndex) {
288  if (e.getEntryType() == FileIndex::kEvent) {
289  os << setw(15) << e.eventID_.run() << setw(15) << e.eventID_.subRun()
290  << setw(15) << e.eventID_.event() << setw(15) << e.entry_ << "\n";
291  } else if (e.getEntryType() == FileIndex::kSubRun) {
292  os << setw(15) << e.eventID_.run() << setw(15) << e.eventID_.subRun()
293  << setw(15) << " " << setw(15) << e.entry_ << " (SubRun)"
294  << "\n";
295  } else if (e.getEntryType() == FileIndex::kRun) {
296  os << setw(15) << e.eventID_.run() << setw(15) << " " << setw(15) << " "
297  << setw(15) << e.entry_ << " (Run)"
298  << "\n";
299  }
300  }
301  return os;
302  }
Float_t e
Definition: plot.C:34
bool art::operator<= ( ScheduleID  left,
ScheduleID  right 
)
inline

Definition at line 130 of file ScheduleID.h.

131 {
132  return (left < right || left == right);
133 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool art::operator<= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
inline

Definition at line 199 of file FileIndex.h.

200  {
201  return !(rh < lh);
202  }
bool art::operator== ( art::ProcessHistory const &  a,
art::ProcessHistory const &  b 
)
inline

Definition at line 161 of file ProcessHistory.h.

References art::ProcessHistory::data().

162 {
163  return a.data() == b.data();
164 }
bool art::operator== ( RefCore const &  lhs,
RefCore const &  rhs 
)
inline

Definition at line 137 of file RefCore.h.

References art::RefCore::id().

138 {
139  return lhs.id() == rhs.id();
140 }
bool art::operator== ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 76 of file BranchKey.h.

77 {
78  return !(a < b || b < a);
79 }
bool art::operator== ( Parentage const &  a,
Parentage const &  b 
)

Definition at line 26 of file Parentage.cc.

References art::Parentage::parents().

27  {
28  return a.parents() == b.parents();
29  }
bool art::operator== ( FileFormatVersion const &  a,
FileFormatVersion const &  b 
)
inline

Definition at line 28 of file FileFormatVersion.h.

References art::FileFormatVersion::value_.

29  {
30  return a.value_ == b.value_;
31  }
bool art::operator== ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)

Definition at line 29 of file ProcessConfiguration.cc.

References art::ProcessConfiguration::parameterSetID_, art::ProcessConfiguration::processName_, and art::ProcessConfiguration::releaseVersion_.

30  {
31  return std::tie(a.processName_, a.parameterSetID_, a.releaseVersion_) ==
32  std::tie(b.processName_, b.parameterSetID_, b.releaseVersion_);
33  }
bool art::operator== ( art::Provenance const &  a,
art::Provenance const &  b 
)
inline
template<typename T , typename U >
std::enable_if_t<std::is_same<T, U>::value || std::is_base_of<T, U>::value || std::is_base_of<U, T>::value, bool> art::operator== ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)
bool art::operator== ( ProductProvenance const &  a,
ProductProvenance const &  b 
)

Definition at line 86 of file ProductProvenance.cc.

References art::ProductProvenance::noParentage(), art::ProductProvenance::parentageID(), art::ProductProvenance::productID(), and art::ProductProvenance::productStatus().

87  {
88  if (a.noParentage() != b.noParentage())
89  return false;
90  if (a.noParentage()) {
91  return a.productID() == b.productID() &&
92  a.productStatus() == b.productStatus();
93  }
94  return a.productID() == b.productID() &&
95  a.productStatus() == b.productStatus() &&
96  a.parentageID() == b.parentageID();
97  }
template<class X , class Y >
bool art::operator== ( debugging_allocator< X > const &  ,
debugging_allocator< Y > const &   
)
throw (
)

Definition at line 100 of file debugging_allocator.h.

102  {
103  return true;
104  }
bool art::operator== ( RangeSet const &  l,
RangeSet const &  r 
)

Definition at line 283 of file RangeSet.cc.

References art::RangeSet::ranges(), and art::RangeSet::run().

284 {
285  if (!both_valid(l, r))
286  return false;
287  return l.run() == r.run() && l.ranges() == r.ranges();
288 }
bool art::operator== ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
inline

Definition at line 205 of file FileIndex.h.

206  {
207  return !(lh < rh || rh < lh);
208  }
bool art::operator== ( BranchDescription const &  a,
BranchDescription const &  b 
)

Definition at line 258 of file BranchDescription.cc.

References art::BranchDescription::combinable, art::BranchDescription::processConfigurationIDs(), and art::BranchDescription::psetIDs().

259  {
260  return combinable(a, b) && (a.psetIDs() == b.psetIDs()) &&
261  (a.processConfigurationIDs() == b.processConfigurationIDs());
262  }
bool combinable(BranchDescription const &a, BranchDescription const &b)
bool art::operator> ( ScheduleID  left,
ScheduleID  right 
)
inline

Definition at line 136 of file ScheduleID.h.

References right().

Referenced by art::const_AssnsIter< L, R, D, Dir >::const_AssnsIter().

137 {
138  return !(left <= right);
139 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool art::operator> ( TypeID const &  a,
TypeID const &  b 
)
inline

Definition at line 127 of file TypeID.h.

128 {
129  return b < a;
130 }
bool art::operator> ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
inline

Definition at line 187 of file FileIndex.h.

188  {
189  return rh < lh;
190  }
bool art::operator>= ( ScheduleID  left,
ScheduleID  right 
)
inline

Definition at line 142 of file ScheduleID.h.

References right().

Referenced by art::const_AssnsIter< L, R, D, Dir >::const_AssnsIter().

143 {
144  return !(left < right);
145 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool art::operator>= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
inline

Definition at line 193 of file FileIndex.h.

194  {
195  return !(lh < rh);
196  }
template<class A , class B >
std::enable_if_t< std::is_base_of< art::SelectorBase, A >::value &&std::is_base_of< art::SelectorBase, B >::value, art::OrHelper< A, B > > art::operator|| ( A const &  a,
B const &  b 
)

Definition at line 249 of file Selector.h.

250 {
251  return art::OrHelper<A, B>(a, b);
252 }
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::overlapping_ranges ( T const &  a,
U const &  b 
)
bool art::overlapping_ranges ( RangeSet const &  l,
RangeSet const &  r 
)

Definition at line 348 of file RangeSet.cc.

References disjoint_ranges().

349 {
350  if (!both_valid(l, r))
351  return false;
352  return !disjoint_ranges(l, r);
353 }
std::enable_if_t< detail::are_handles< T, U >::value, bool > disjoint_ranges(T const &a, U const &b)
template<class T , class U >
bool art::overlapping_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 189 of file SummedValue.h.

References overlapping_ranges(), and art::SummedValue< T >::rangeOfValidity().

190  {
191  return overlapping_ranges(a.rangeOfValidity(), b.rangeOfValidity());
192  }
bool overlapping_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:189
std::string art::parent_path ( std::string const &  path)

Definition at line 15 of file parent_path.cc.

Referenced by art::TFileService::fileNameAtOpen_(), and art::RootOutput::RootOutput().

16 {
17  std::string result;
18  boost::filesystem::path parent_path(
19  boost::filesystem::path(in_path).parent_path());
20  if (parent_path.empty()) {
21  result = ".";
22  } else {
23  result = parent_path.native();
24  }
25  return result;
26 }
std::string parent_path(std::string const &path)
Definition: parent_path.cc:15
template<typename T1 , typename T2 >
std::enable_if_t<std::is_same<T1, T2>::value || std::is_base_of<T1, T2>::value || std::is_base_of<T2, T1>::value, bool> art::pointersEqual ( T1 *  t1,
T2 *  t2 
)
inline

Definition at line 15 of file pointersEqual.h.

References t2, and fhicl::detail::atom::value().

16  {
17  return t1 == t2;
18  }
TTree * t1
Definition: plottest35.C:26
TTree * t2
Definition: plottest35.C:36
template<typename T1 , typename T2 >
std::enable_if_t<!std::is_same<T1, T2>::value && !std::is_base_of<T1, T2>::value && !std::is_base_of<T2, T1>::value, bool> art::pointersEqual ( T1 *  ,
T2 *   
)

Definition at line 26 of file pointersEqual.h.

References art::errors::LogicError.

27  {
29  << "Tried to compare two incompatible pointers.\n";
30  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
void art::printArtException ( cet::exception const &  e,
char const *  prog 
)

Definition at line 13 of file ExceptionMessages.cc.

Referenced by run_art_common_().

13  {
14  std::string programName(prog ? prog : "program");
15  std::string shortDesc("ArtException");
16  std::ostringstream longDesc;
17  longDesc << "cet::exception caught in " << programName << "\n"
18  << cet::trim_right_copy(e.explain_self(), " \n");
19  LogSystem(shortDesc) << longDesc.str();
20  }
21  catch (...) {
22  }
MaybeLogger_< ELseverityLevel::ELsev_severe, false > LogSystem
Float_t e
Definition: plot.C:34
void art::printBadAllocException ( char const *  prog)

Definition at line 25 of file ExceptionMessages.cc.

Referenced by run_art_common_().

25  {
26  std::string programName(prog ? prog : "program");
27  std::string shortDesc("std::bad_allocException");
28  std::ostringstream longDesc;
29  longDesc << "std::bad_alloc exception caught in " << programName << "\n"
30  << "The job has probably exhausted the virtual memory available "
31  "to the process.";
32  LogSystem(shortDesc) << longDesc.str();
33  }
34  catch (...) {
35  }
MaybeLogger_< ELseverityLevel::ELsev_severe, false > LogSystem
void art::printStdException ( std::exception const &  e,
char const *  prog 
)

Definition at line 38 of file ExceptionMessages.cc.

Referenced by run_art_common_().

38  {
39  std::string programName(prog ? prog : "program");
40  std::string shortDesc("StdLibException");
41  std::ostringstream longDesc;
42  longDesc << "Standard library exception caught in " << programName << "\n"
43  << cet::trim_right_copy(e.what(), " \n");
44  LogSystem(shortDesc) << longDesc.str();
45  }
46  catch (...) {
47  }
MaybeLogger_< ELseverityLevel::ELsev_severe, false > LogSystem
Float_t e
Definition: plot.C:34
void art::printUnknownException ( char const *  prog)

Definition at line 50 of file ExceptionMessages.cc.

Referenced by run_art_common_().

50  {
51  std::string programName(prog ? prog : "program");
52  std::string shortDesc("UnknownException");
53  std::ostringstream longDesc;
54  longDesc << "Unknown exception caught in " << programName;
55  LogSystem(shortDesc) << longDesc.str();
56  }
57  catch (...) {
58  }
MaybeLogger_< ELseverityLevel::ELsev_severe, false > LogSystem
std::string const & art::productProvenanceBranchName ( BranchType const  bt)

Definition at line 91 of file BranchType.cc.

Referenced by art::RootInputTree::RootInputTree(), and art::RootOutputTree::RootOutputTree().

92  {
93  return select(bt,
94  {&eventProductProvenance,
95  &subRunProductProvenance,
96  &runProductProvenance,
97  &resultsProductProvenance});
98  }
template<typename T , typename P >
std::enable_if_t<P::branch_type == InEvent || P::branch_type == InResults> art::put_product_in_principal ( std::unique_ptr< T > &&  product,
P &  principal,
std::string const &  module_label,
std::string const &  instance_name = {} 
)
template<typename T , typename P >
std::enable_if_t<P::branch_type == InSubRun || P::branch_type == InRun> art::put_product_in_principal ( std::unique_ptr< T > &&  product,
P &  principal,
std::string const &  module_label,
std::string const &  instance_name = {},
RangeSet &&  = RangeSet::invalid() 
)
template<class T >
std::enable_if_t<detail::is_handle<T>::value, RangeSet const&> art::range_of_validity ( T const &  h)
RangeSet art::rangeSetFor ( RunPrincipal const &  rp)
inline

Definition at line 45 of file put_product_in_principal.h.

References art::RangeSet::forRun(), and art::RunPrincipal::id().

Referenced by rangeSetFor().

46  {
47  return RangeSet::forRun(rp.id());
48  }
void art::reenableSigs ( sigset_t *  oldset)

Definition at line 106 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

Referenced by installCustomHandler().

107  {
108  // reenable the signals
109  MUST_BE_ZERO(pthread_sigmask(SIG_SETMASK, oldset, 0));
110  }
#define MUST_BE_ZERO(fun)
std::vector< std::vector< std::string >::const_iterator > art::regexMatch ( std::vector< std::string > const &  strings,
std::regex const &  regexp 
)

Definition at line 27 of file RegexMatch.cc.

Referenced by art::EventSelector::init(), and regexMatch().

28  {
30  for (auto i = strings.begin(), iEnd = strings.end(); i != iEnd; ++i) {
31  if (std::regex_match((*i), regexp)) {
32  matches.push_back(i);
33  }
34  }
35  return matches;
36  }
intermediate_table::const_iterator const_iterator
std::vector< std::vector< std::string >::const_iterator > art::regexMatch ( std::vector< std::string > const &  strings,
std::string const &  pattern 
)

Definition at line 39 of file RegexMatch.cc.

References glob2reg(), and regexMatch().

41  {
42  std::regex const regexp{glob2reg(pattern)};
43  return regexMatch(strings, regexp);
44  }
std::vector< std::vector< std::string >::const_iterator > regexMatch(std::vector< std::string > const &strings, std::string const &pattern)
Definition: RegexMatch.cc:39
std::string glob2reg(std::string pattern)
Definition: RegexMatch.cc:19
template<class L , class R , class D , Direction Dir>
constexpr auto const& art::right ( const_AssnsIter< L, R, D, Dir > const &  a,
const_AssnsIter< L, R, D, Dir > const &  b 
)

Definition at line 112 of file AssnsIter.h.

References Forward.

Referenced by cluster::ClusterAna::analyze(), pfpf::PFPAna::analyze(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinks(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinksTrial(), lar_cluster3d::ConvexHullPathFinder::breakClusterByMaxDefect(), lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::buildConvexHull(), lar_cluster3d::StandardHit3DBuilder::BuildHit3D(), lar_cluster3d::kdTree::BuildKdTree(), lar_cluster3d::ClusterPathFinder::buildVoronoiDiagram(), lar_cluster3d::VoronoiPathFinder::buildVoronoiDiagram(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::Comparer::ComparerImpl< A, B, std::enable_if_t< std::is_convertible< decltype(std::declval< A >()!=std::declval< B >()), bool >::value > >::compare(), voronoi2d::compareSiteEventPtrs(), voronoi2d::VoronoiDiagram::ComputeFaceArea(), recob::dumper::DumpPCAxis(), cluster::TrajCluster::endJob(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), lar_cluster3d::MinSpanTreeAlg::FindBestPathInCluster(), voronoi2d::VoronoiDiagram::findBoundingBox(), lar_cluster3d::StandardHit3DBuilder::findGoodTriplets(), reco_tool::CandHitDerivative::findHitCandidates(), reco_tool::CandHitMorphological::findHitCandidates(), reco_tool::WaveformTools::findPeaks(), mf::service::ELdestination::formSummary(), voronoi2d::VoronoiDiagram::getConvexHull(), G4THitsCollection< T >::GetSize(), reco_tool::WaveformTools::getTruncatedMeanRMS(), lar_cluster3d::Hit3DCompare(), lar_cluster3d::Cluster3D::MakeAndSavePCAPoints(), evd::SimulationDrawer::MCTruthLongText(), lar_cluster3d::ClusterMergeAlg::ModifyClusters(), operator!=(), util::flags::operator!=(), art::SortInvalidFirst< T >::operator()(), art::const_AssnsIter< L, R, D, Dir >::operator<(), util::flags::operator<(), recob::operator<<(), reco::operator<<(), util::flags::operator<<(), art::const_AssnsIter< L, R, D, Dir >::operator<=(), util::flags::operator<=(), util::flags::operator==(), operator>(), art::const_AssnsIter< L, R, D, Dir >::operator>(), util::flags::operator>(), operator>=(), art::const_AssnsIter< L, R, D, Dir >::operator>=(), util::flags::operator>=(), lar_cluster3d::ConvexHullPathFinder::orderHitsAlongEdge(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), tca::Print2V(), tca::Print3V(), art::detail::InfoDumperInputFile::print_process_history(), tca::PrintAllTraj(), trkf::CCTrackMaker::PrintClusters(), cluster::ClusterCrawlerAlg::PrintClusters(), tca::PrintP(), tca::PrintPFP(), trkf::CCTrackMaker::PrintTracks(), cluster::ClusterCrawlerAlg::PrintVertices(), hit::GausHitFinder::produce(), boost::python::detail::proxy_group< Proxy >::replace(), lar_content::LArPcaHelper::RunPca(), lar_cluster3d::MinSpanTreeAlg::RunPrimsAlgorithm(), sort_pred(), sort_pred2(), trkf::CCTrackMaker::SortMatches(), art::RangeSet::split_range(), lar_cluster3d::Cluster3D::splitClustersWithMST(), hit::CCHitFinderAlg::StudyHits(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), lar_cluster3d::VoronoiPathFinder::subDivideCluster(), throw_if_not_disjoint(), art::detail::triggerReport(), and util::flags::Bits_t< Storage_t >::unsetBits().

114  {
115  return (Dir == Direction::Forward) ? b : a;
116  }
int art::run_art ( int  argc,
char **  argv,
bpo::options_description &  in_desc,
cet::filepath_maker &  lookupPolicy,
OptionsHandlers &&  handlers 
)

Definition at line 123 of file run_art.cc.

References e, fhicl::make_ParameterSet(), fhicl::ParameterSetRegistry::put(), and run_art_common_().

Referenced by artapp(), and mu2eapp().

128  {
129  std::ostringstream descstr;
130  descstr << "\nUsage: "
131  << boost::filesystem::path(argv[0]).filename().native()
132  << " <-c <config-file>> <other-options> [<source-file>]+\n\n"
133  << "Basic options";
134  bpo::options_description all_desc{descstr.str()};
135  all_desc.add(in_desc);
136  // BasicOptionsHandler should always be first in the list!
137  handlers.emplace(handlers.begin(),
138  new BasicOptionsHandler{all_desc, lookupPolicy});
139  // BasicPostProcessor should be last.
140  handlers.emplace_back(new BasicPostProcessor);
141  // This must be added separately: how to deal with any non-option arguments.
142  bpo::positional_options_description pd;
143  // A single non-option argument will be taken to be the source data file.
144  pd.add("source", -1);
145  // Parse the command line.
146  bpo::variables_map vm;
147  try {
148  bpo::store(bpo::command_line_parser(argc, argv)
149  .options(all_desc)
150  .positional(pd)
151  .run(),
152  vm);
153  bpo::notify(vm);
154  }
155  catch (bpo::error const& e) {
156  std::cerr << "Exception from command line processing in " << argv[0]
157  << ": " << e.what() << "\n";
158  return 88;
159  }
160  // Preliminary argument checking.
161  for (auto& handler : handlers) {
162  auto result = handler->checkOptions(vm);
163  if (result != 0) {
164  return result;
165  }
166  }
167  // Processing of arguments and post-processing of config.
168  fhicl::intermediate_table raw_config;
169  for (auto& handler : handlers) {
170  auto result = handler->processOptions(vm, raw_config);
171  if (result != 0) {
172  return result;
173  }
174  }
175  //
176  // Make the parameter set from the intermediate table:
177  //
178  fhicl::ParameterSet main_pset;
179  try {
180  make_ParameterSet(raw_config, main_pset);
181  }
182  catch (cet::exception const& e) {
183  constexpr cet::HorizontalRule rule{36};
184  std::cerr << "ERROR: Failed to create a parameter set from parsed "
185  "configuration with exception "
186  << e.what() << ".\n";
187  std::cerr << " Intermediate configuration state follows:\n"
188  << rule('-') << '\n'
189  << rule('-') << '\n';
190  for (auto const& item : raw_config) {
191  std::cerr << item.first << ": " << item.second.to_string() << '\n';
192  }
193  std::cerr << rule('-') << '\n' << rule('-') << '\n';
194  return 91;
195  }
196 
197  // Main parameter set must be placed in registry manually.
198  try {
200  }
201  catch (...) {
202  std::cerr << "Uncaught exception while inserting main parameter set into "
203  "registry.\n";
204  throw;
205  }
206  return run_art_common_(main_pset);
207  }
static ParameterSetID const & put(ParameterSet const &ps)
void make_ParameterSet(intermediate_table const &tbl, ParameterSet &ps)
int run_art_common_(fhicl::ParameterSet const &main_pset)
Definition: run_art.cc:251
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
int art::run_art_common_ ( fhicl::ParameterSet const &  main_pset)

Definition at line 251 of file run_art.cc.

References e, fhicl::ParameterSet::get(), fhicl::ParameterSet::has_key(), art::detail::info_success(), printArtException(), printBadAllocException(), printStdException(), printUnknownException(), mf::SetIteration(), setupSignals(), shutdown_flag, and mf::StartMessageFacility().

Referenced by run_art(), and run_art_string_config().

252  {
253  auto const& services_pset =
254  main_pset.get<fhicl::ParameterSet>("services", {});
255  auto const& scheduler_pset =
256  services_pset.get<fhicl::ParameterSet>("scheduler", {});
257 
258  // Handle early configuration-debugging
259  auto const debug_processing_mode =
260  maybe_output_config(main_pset, scheduler_pset);
261  if (debug_processing_mode == debug_processing::debug_config) {
262  return detail::info_success(); // Bail out early
263  }
264 
265  //
266  // Start the messagefacility
267  //
268  mf::SetIteration("JobSetup");
269  try {
271  services_pset.get<fhicl::ParameterSet>("message", {}));
272  }
273  catch (cet::exception const& e) {
274  std::cerr << e.what() << '\n';
275  return 69;
276  }
277  catch (std::exception const& e) {
278  std::cerr << e.what() << '\n';
279  return 70;
280  }
281  catch (...) {
282  std::cerr << "Caught unknown exception while initializing the message "
283  "facility.\n";
284  return 71;
285  }
286 
287  mf::LogInfo("MF_INIT_OK") << "Messagelogger initialization complete.";
288  //
289  // Initialize:
290  // unix signal facility
291  art::setupSignals(scheduler_pset.get<bool>("enableSigInt", true));
292 
293  int rc{0};
294  try {
295  EventProcessor ep{main_pset};
296  // Behavior of validate_config is to validate FHiCL syntax *and*
297  // user-specified configurations of paths, modules, services, etc.
298  // It is thus possible that an exception thrown during
299  // construction of the EventProcessor object can have nothing to
300  // do with a configuration error.
301  if (debug_processing_mode == debug_processing::validate_config) {
302  return detail::info_success(); // Bail out early
303  }
304  if (scheduler_pset.has_key("dataDependencyGraph")) {
305  return detail::info_success(); // Bail out early
306  }
307  if (ep.runToCompletion() == EventProcessor::epSignal) {
308  std::cerr << "Art has handled signal " << art::shutdown_flag << ".\n";
309  if (scheduler_pset.get<bool>("errorOnSIGINT")) {
310  rc = 128 + art::shutdown_flag;
311  }
312  }
313  }
314  catch (Exception const& e) {
315  rc = e.returnCode();
316  printArtException(e, "art");
317  }
318  catch (cet::exception const& e) {
319  rc = 65;
320  printArtException(e, "art");
321  }
322  catch (std::bad_alloc const& bda) {
323  rc = 68;
324  printBadAllocException("art");
325  }
326  catch (std::exception const& e) {
327  rc = 66;
328  printStdException(e, "art");
329  }
330  catch (...) {
331  rc = 67;
332  printUnknownException("art");
333  }
334  return rc;
335  }
void SetIteration(string const &val)
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
std::atomic< int > shutdown_flag
void printStdException(std::exception const &e, char const *prog)
void printUnknownException(char const *prog)
void StartMessageFacility(fhicl::ParameterSet const &pset, string const &applicationName)
T get(std::string const &key) const
Definition: ParameterSet.h:231
bool has_key(std::string const &key) const
void setupSignals(bool want_sigint_enabled)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
void printArtException(cet::exception const &e, char const *prog)
constexpr int info_success()
Definition: info_success.h:9
void printBadAllocException(char const *prog)
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
int art::run_art_string_config ( std::string const &  config_string)

Definition at line 210 of file run_art.cc.

References e, fhicl::make_ParameterSet(), fhicl::parse_document(), art::OptionsHandler::processOptions(), fhicl::ParameterSetRegistry::put(), and run_art_common_().

Referenced by artapp_string_config(), and mu2eapp_string_config().

211  {
212  //
213  // Make the parameter set from the configuration string:
214  //
215  fhicl::ParameterSet main_pset;
216  try {
217  // create an intermediate table from the input string
218  fhicl::intermediate_table raw_config;
219  parse_document(config_string, raw_config);
220  // run post-processing
221  bpo::variables_map vm;
222  BasicPostProcessor bpp;
223  bpp.processOptions(vm, raw_config);
224  // create the parameter set
225  make_ParameterSet(raw_config, main_pset);
226  }
227  catch (cet::exception& e) {
228  constexpr cet::HorizontalRule rule{36};
229  std::cerr << "ERROR: Failed to create a parameter set from an input "
230  "configuration string with exception "
231  << e.what() << ".\n";
232  std::cerr << " Input configuration string follows:\n"
233  << rule('-') << rule('-') << "\n";
234  std::cerr << config_string << "\n";
235  std::cerr << rule('-') << rule('-') << '\n';
236  return 91;
237  }
238  // Main parameter set must be placed in registry manually.
239  try {
241  }
242  catch (...) {
243  std::cerr << "Uncaught exception while inserting main parameter set into "
244  "registry.\n";
245  throw;
246  }
247  return run_art_common_(main_pset);
248  }
static ParameterSetID const & put(ParameterSet const &ps)
void make_ParameterSet(intermediate_table const &tbl, ParameterSet &ps)
int run_art_common_(fhicl::ParameterSet const &main_pset)
Definition: run_art.cc:251
Float_t e
Definition: plot.C:34
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void parse_document(std::string const &filename, cet::filepath_maker &maker, intermediate_table &result)
Definition: parse.cc:856
constexpr auto art::runFragment ( )

Definition at line 35 of file ProductSemantics.h.

36  {
37  return FragmentSemantic<Level::Run>{};
38  }
auto art::runFragment ( RangeSet const &  rs)
inline

Definition at line 46 of file ProductSemantics.h.

47  {
48  return RangedFragmentSemantic<Level::Run>{rs};
49  }
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::same_ranges ( T const &  a,
U const &  b 
)
bool art::same_ranges ( RangeSet const &  l,
RangeSet const &  r 
)

Definition at line 291 of file RangeSet.cc.

292 {
293  return l == r;
294 }
template<class T , class U >
bool art::same_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 175 of file SummedValue.h.

References art::SummedValue< T >::rangeOfValidity(), and same_ranges().

176  {
177  return same_ranges(a.rangeOfValidity(), b.rangeOfValidity());
178  }
bool same_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:175
template<class COLLECTION >
void art::setPtr ( COLLECTION const &  coll,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
)
template<typename T >
void art::setPtr ( cet::map_vector< T > const &  obj,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
)

Definition at line 52 of file setPtr.h.

References art::detail::value_type_helper::look_past_pair(), art::detail::maybeCastObj(), art::detail::value_type_helper::starts_with_pair(), and uniform_type_name().

56 {
57  detail::value_type_helper vh;
58  std::string const wanted_type =
59  uniform_type_name(cet::demangle_symbol(iToType.name()));
60  static size_t pos = vh.look_past_pair<T>();
61  auto const it = obj.findOrThrow(cet::map_vector_key{iIndex});
62  assert(it != obj.end());
63  if ((pos < wanted_type.size()) && vh.starts_with_pair(wanted_type, pos)) {
64  // Want value_type, not mapped_type;
65  oPtr = detail::maybeCastObj(&*it, iToType);
66  } else {
67  oPtr = detail::maybeCastObj(&it->second, iToType);
68  }
69 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
std::string uniform_type_name(std::type_info const &tid)
void art::setRootErrorHandler ( bool const  want_custom)

Definition at line 187 of file InitRootHandlers.cc.

References RootErrorHandler().

Referenced by art::BasicOutputOptionsHandler::doCheckOptions().

188  {
189  if (want_custom) {
190  SetErrorHandler(RootErrorHandler);
191  } else {
192  SetErrorHandler(DefaultErrorHandler);
193  }
194  }
void RootErrorHandler(int level, bool die, char const *location, char const *message)
void art::setupSignals ( bool  want_sigint_enabled)

Definition at line 203 of file UnixSignalHandlers.cc.

References ep_sigusr2(), and installCustomHandler().

Referenced by run_art_common_().

204  {
208  if (want_sigint_enabled)
210  }
void ep_sigusr2(int which, siginfo_t *, void *)
void installCustomHandler(const int signum, CFUNC func)
void art::sigInventory ( )

Definition at line 179 of file UnixSignalHandlers.cc.

References MUST_BE_ZERO.

180  {
181  sigset_t tmpset, oldset;
182  // Make a full house set of signals, except for SIGKILL = 9
183  // and SIGSTOP = 19 which cannot be blocked
184  MUST_BE_ZERO(sigfillset(&tmpset));
185  MUST_BE_ZERO(sigdelset(&tmpset, SIGKILL));
186  MUST_BE_ZERO(sigdelset(&tmpset, SIGSTOP));
187  // Swap it with the current sigset_t
188  MUST_BE_ZERO(pthread_sigmask(SIG_SETMASK, &tmpset, &oldset));
189  // Now see what's included in the set
190  for (int k = 1; k < NSIG; ++k) {
191  std::cerr << "sigismember is " << sigismember(&tmpset, k)
192  << " for signal " << std::setw(2) << k
193 #if defined(__linux__)
194  << " (" << strsignal(k) << ")"
195 #endif
196  << std::endl;
197  }
198  // Finally put the original sigset_t back
199  MUST_BE_ZERO(pthread_sigmask(SIG_SETMASK, &oldset, &tmpset));
200  }
#define MUST_BE_ZERO(fun)
template<Direction Dir>
constexpr int art::signed_one ( )

Definition at line 28 of file AssnsIter.h.

29  {
30  return static_cast<std::underlying_type_t<Direction>>(Dir);
31  }
constexpr auto art::subRunFragment ( )

Definition at line 40 of file ProductSemantics.h.

41  {
42  return FragmentSemantic<Level::SubRun>{};
43  }
auto art::subRunFragment ( RangeSet const &  rs)
inline

Definition at line 51 of file ProductSemantics.h.

52  {
53  return RangedFragmentSemantic<Level::SubRun>{rs};
54  }
void art::swap ( art::ProcessHistory a,
art::ProcessHistory b 
)
inline

Definition at line 155 of file ProcessHistory.h.

References art::ProcessHistory::swap().

156 {
157  a.swap(b);
158 }
void swap(ProcessHistory &other)
void art::swap ( TypeID left,
TypeID right 
)
inline

Definition at line 139 of file TypeID.h.

References art::TypeID::swap().

Referenced by art::TypeID::swap().

140 {
141  left.swap(right);
142 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
void art::swap ( art::RefCore lhs,
art::RefCore rhs 
)
inline

Definition at line 155 of file RefCore.h.

References art::RefCore::swap().

Referenced by art::RefCore::swap().

156 {
157  lhs.swap(rhs);
158 }
void swap(RefCore &other)
Definition: RefCore.h:123
template<typename T >
void art::swap ( PtrVector< T > &  lhs,
PtrVector< T > &  rhs 
)
inline

Definition at line 599 of file PtrVector.h.

References art::PtrVector< T >::swap().

Referenced by art::PtrVector< T >::swap().

600 {
601  lhs.swap(rhs);
602 }
void art::swap ( Provenance x,
Provenance y 
)
template<class T >
void art::swap ( Handle< T > &  a,
Handle< T > &  b 
)
template<class T >
void art::swap ( ValidHandle< T > &  a,
ValidHandle< T > &  b 
)
void art::swap ( TriggerResults lhs,
TriggerResults rhs 
)
inline

Definition at line 70 of file TriggerResults.h.

References art::TriggerResults::swap().

71  {
72  lhs.swap(rhs);
73  }
void art::swap ( OutputHandle a,
OutputHandle b 
)
inline

Definition at line 110 of file OutputHandle.h.

References art::OutputHandle::swap().

Referenced by art::OutputHandle::swap().

111  {
112  a.swap(b);
113  }
void art::swap ( HLTGlobalStatus lhs,
HLTGlobalStatus rhs 
)
inline

Definition at line 169 of file HLTGlobalStatus.h.

References art::HLTGlobalStatus::swap().

170  {
171  lhs.swap(rhs);
172  }
template<int I>
void art::swap ( Hash< I > &  a,
Hash< I > &  b 
)
inline

Definition at line 243 of file Hash.h.

References art::Hash< I >::swap().

244  {
245  a.swap(b);
246  }
void art::throw_if_not_disjoint ( RunNumber_t const  rn,
EventRange const &  left,
EventRange const &  right 
)
noexcept

Definition at line 333 of file RangeSet.cc.

References art::errors::EventRangeOverlap, left(), and right().

Referenced by art::RangeSet::collapse(), and art::detail::RangeSetInfo::update().

336 {
337  if (left.is_disjoint(right))
338  return;
340  << "Attempt to merge event ranges that both contain one or more of the "
341  "same events\n"
342  << " Run: " << rn << '\n'
343  << " " << left << " vs.\n"
344  << " " << right;
345 }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
std::string art::to_string ( ModuleType  mt)
inline

Definition at line 32 of file ModuleType.h.

References ANALYZER, FILTER, art::errors::LogicError, NON_ART, OUTPUT, and PRODUCER.

Referenced by art::PathManager::fillAllModules_(), art::detail::getType< suffix_type::module >(), art::PathManager::processOnePathConfig_(), art::RangeSet::to_compact_string(), and art::RootOutputFile::writeFileCatalogMetadata().

33 {
34  switch (mt) {
35  case ModuleType::NON_ART:
36  return "non-art";
37  case ModuleType::ANALYZER:
38  return "analyzer";
39  case ModuleType::FILTER:
40  return "filter";
41  case ModuleType::PRODUCER:
42  return "producer";
43  case ModuleType::OUTPUT:
44  return "output module";
45  default:
47  << "Unable to find string for unrecognized ModuleType value "
48  << static_cast<int>(mt) << ".\n";
49  }
50 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::string art::translateFileDeliveryStatus ( FileDeliveryStatus  stat)

Definition at line 8 of file FileDeliveryStatus.cc.

References art::detail::FDS::BAD_GATEWAY, art::detail::FDS::BAD_REQUEST, art::detail::FDS::CONFLICT, art::detail::FDS::FORBIDDEN, art::detail::FDS::NO_MORE_FILES, art::detail::FDS::NOT_FOUND, art::detail::FDS::PENDING, art::detail::FDS::SERVER_EXCEPTION, art::detail::FDS::SPECIFIC_ERRORS, SUCCESS, art::detail::FDS::TRY_AGAIN_LATER, and art::detail::FDS::UNAVAILABLE.

Referenced by art::detail::FileServiceProxy::obtainURI_().

9 {
10  switch (stat) {
11  default: {
12  std::ostringstream os;
13  os << "UNKNOWN" << std::setfill('0') << std::setw(3)
14  << static_cast<int>(stat);
15  return os.str();
16  }
18  return "PENDING";
20  return "SUCCESS";
22  return "TRY_AGAIN_LATER";
24  return "NO_MORE_FILES";
26  return "BAD_REQUEST";
28  return "FORBIDDEN";
30  return "NOT_FOUND";
32  return "CONFLICT";
34  return "SERVER_EXCEPTION";
36  return "BAD_GATEWAY";
38  return "UNAVAILABLE";
40  return "SPECIFIC_ERRORS";
41  }
42 }
#define SUCCESS
Definition: DBScan3DAlg.h:39
std::string art::translateFileDisposition ( FileDisposition  fd)

Definition at line 8 of file FileDisposition.cc.

References art::detail::FDS::PENDING.

9 {
10  switch (fd) {
11  default: {
12  std::ostringstream os;
13  os << "UNKNOWN" << std::setfill('0') << std::setw(3)
14  << static_cast<int>(fd);
15  return os.str();
16  }
18  return "PENDING";
19  case FileDisposition::TRANSFERRED:
20  return "TRANSFERED";
21  case FileDisposition::CONSUMED:
22  return "CONSUMED";
23  case FileDisposition::SKIPPED:
24  return "SKIPPED";
25  case FileDisposition::INCOMPLETE:
26  return "INCOMPLETE";
27  }
28 }
std::string art::translateFileTransferStatus ( FileTransferStatus  stat)

Definition at line 8 of file FileTransferStatus.cc.

References art::detail::FDS::BAD_REQUEST, art::detail::FDS::FORBIDDEN, art::detail::FTS::GONE, art::detail::FDS::NOT_FOUND, art::detail::FTS::PAYMENT_REQUIRED, art::detail::FDS::PENDING, art::detail::FTS::SERVER_ERROR, SUCCESS, art::detail::FTS::TOO_LARGE, art::detail::FTS::UNAUTHORIZED, art::detail::FDS::UNAVAILABLE, and art::detail::FTS::URI_TOO_LONG.

Referenced by art::detail::FileServiceProxy::obtainFileFromURI_().

9 {
10  switch (stat) {
11  default: {
12  std::ostringstream os;
13  os << "UNKNOWN" << std::setfill('0') << std::setw(3)
14  << static_cast<int>(stat);
15  return os.str();
16  }
18  return "PENDING";
20  return "SUCCESS";
22  return "BAD_REQUEST";
24  return "UNAUTHORIZED";
26  return "PAYMENT_REQUIRED";
28  return "FORBIDDEN";
30  return "NOT_FOUND";
32  return "GONE";
34  return "TOO_LARGE";
36  return "URI_TOO_LONG";
38  return "SERVER_ERROR";
40  return "UNAVAILABLE";
41  }
42 }
#define SUCCESS
Definition: DBScan3DAlg.h:39
constexpr auto art::underlying_value ( Level const  l)
noexcept

Definition at line 25 of file Level.h.

Referenced by is_above_most_deeply_nested_level(), is_level_contained_by(), level_down(), level_up(), and operator<<().

26  {
27  return static_cast<std::underlying_type_t<Level>>(l);
28  }
std::string art::uniform_type_name ( std::type_info const &  tid)
inline

Definition at line 36 of file uniform_type_name.h.

Referenced by art::TypeID::className(), getElementAddresses(), and setPtr().

37 {
38  return uniform_type_name(cet::demangle_symbol(tid.name()));
39 }
std::string uniform_type_name(std::string name)
std::string art::uniform_type_name ( std::string  name)
Parameters
[in]nameThe already-demangled name for a type.

Definition at line 158 of file uniform_type_name.cc.

References s.

159 {
160  using namespace std::string_literals;
161  // We must use the same conventions previously used by Reflex.
162  // The order is important.
163 
164  // Translate any inlined namespace
165  translateInlineNamespace(name);
166 
167  // We must change std::__cxx11:: -> std:: for all type names. This
168  // should not have implications for I/O because ROOT stores the data
169  // that STL objects represent rather than doing a "dumb serialization"
170  // of the class.
171  cet::replace_all(name, "std::__cxx11::"s, "std::"s);
172  // According to a report from Chris Jones, Apple Clang has a similar
173  // issue with std::__1.
174  cet::replace_all(name, "std::__1::"s, "std::"s);
175 
176  // No space after comma.
177  cet::replace_all(name, ", "s, ","s);
178  // No space before opening square bracket.
179  cet::replace_all(name, " ["s, "["s);
180  // Strip default allocator.
181  removeParameter(name, ",std::allocator<"s);
182  // Strip default comparator.
183  removeParameter(name, ",std::less<"s);
184  // Strip char traits.
185  removeParameter(name, ",std::char_traits<"s);
186  // std::basic_string<char> -> std::string
187  {
188  static std::regex const bs_regex("std::basic_string<char>\\s*"s);
189  reformat(name, bs_regex, "std::string"s);
190  }
191  // Put const qualifier before identifier.
192  constBeforeIdentifier(name);
193 
194  // No spaces between template brakets and arguments
195  // FIXME?: need a regex because just stripping the spaces
196  // can cause subsequent ">>" removal fail...
197  {
198  static std::regex const bk_regex("([_a-zA-Z0-9])( +)>");
199  static std::string const bk_format("$1>");
200  reformat(name, bk_regex, bk_format);
201  }
202 
203  // No consecutive '>'.
204  //
205  // FIXME: The first time we see a type with e.g. operator>> as a
206  // template argument, we could have a problem.
207  cet::replace_all(name, ">>"s, "> >"s);
208  // No u or l qualifiers for integers.
209  {
210  static std::regex const ul_regex("(.*[<,][0-9]+)[ul]l*([,>].*)"s);
211  reformat(name, ul_regex, "$1$2"s);
212  }
213  // For ROOT 6 and beyond.
214  cet::replace_all(name, "unsigned long long"s, "ULong64_t"s);
215  cet::replace_all(name, "long long"s, "Long64_t"s);
216  // Done.
217  return name;
218 }
Float_t s
Definition: plot.C:23
std::string art::unique_filename ( std::string  stem,
std::string  extension = ".root" 
)

Definition at line 18 of file unique_filename.cc.

References close(), e, and art::errors::FileOpenError.

Referenced by art::RootOutput::fileNameAtOpen(), and art::TFileService::fileNameAtOpen_().

19 {
20  boost::filesystem::path const p(stem + "-%%%%-%%%%-%%%%-%%%%" + extension);
21  boost::filesystem::path outpath;
22  boost::system::error_code ec;
23  int tmp_fd = -1, error = 0;
24  do {
25  outpath = boost::filesystem::unique_path(p, ec);
26  } while (!ec && (tmp_fd = creat(outpath.c_str(), S_IRUSR | S_IWUSR)) == -1 &&
27  (error = errno) == EEXIST);
28  if (tmp_fd != -1) {
29  close(tmp_fd);
30  } else {
32  e << "RootOutput cannot ascertain a unique temporary filename for output "
33  "based on stem\n\""
34  << stem << "\": ";
35  if (ec) {
36  e << ec;
37  } else {
38  e << strerror(error);
39  }
40  e << ".\n";
41  throw e;
42  }
43  return outpath.native();
44 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
in close()
Float_t e
Definition: plot.C:34
void art::unloadRootSigHandler ( )

Definition at line 171 of file InitRootHandlers.cc.

Referenced by art::BasicOutputOptionsHandler::doProcessOptions().

172  {
173  // Deactivate all the Root signal handlers and restore the system defaults
174  gSystem->ResetSignal(kSigChild);
175  gSystem->ResetSignal(kSigBus);
176  gSystem->ResetSignal(kSigSegmentationViolation);
177  gSystem->ResetSignal(kSigIllegalInstruction);
178  gSystem->ResetSignal(kSigSystem);
179  gSystem->ResetSignal(kSigPipe);
180  gSystem->ResetSignal(kSigAlarm);
181  gSystem->ResetSignal(kSigUrgent);
182  gSystem->ResetSignal(kSigFloatingException);
183  gSystem->ResetSignal(kSigWindowChanged);
184  }
std::string art::wrappedClassName ( std::string const &  className)

Definition at line 5 of file WrappedClassName.cc.

Referenced by checkDictionaries(), and art::BranchDescription::fluffTransients_().

6  {
7  static std::string const wrapperBegin("art::Wrapper<");
8  static std::string const wrapperEnd1(">");
9  static std::string const wrapperEnd2(" >");
10  std::string const& wrapperEnd =
11  (className[className.size() - 1] == '>' ? wrapperEnd2 : wrapperEnd1);
12  std::string wrapped;
13  wrapped.reserve(wrapperBegin.size() + className.size() + wrapperEnd.size());
14  wrapped += wrapperBegin;
15  wrapped += className;
16  wrapped += wrapperEnd;
17  return wrapped;
18  }

Variable Documentation

debugvalue art::debugit

Definition at line 12 of file DebugMacros.cc.

Referenced by art::ActionTable::addDefaults_().

MallocOptionSetter art::global_malloc_options

Definition at line 204 of file MallocOpts.cc.

Referenced by getGlobalOptionSetter().

std::atomic< int > art::shutdown_flag {0}
std::mutex art::signum_lock

Definition at line 44 of file UnixSignalHandlers.cc.

volatile int art::signum_value
Initial value:
=
0

Definition at line 45 of file UnixSignalHandlers.cc.

Referenced by getSigNum().

std::mutex art::usr2_lock

Definition at line 23 of file UnixSignalHandlers.cc.