1 #ifndef FWCore_Framework_Path_h
2 #define FWCore_Framework_Path_h
33 class ModuleDescription;
35 class LuminosityBlockPrincipal;
52 std::shared_ptr<ActivityRegistry> reg,
60 StreamID const&,
typename T::Context
const*);
98 std::shared_ptr<ActivityRegistry>
actReg_;
131 template <
typename T>
132 class PathSignalSentry {
137 PathContext
const* pathContext) :
138 a_(a), nwrwue_(nwrwue), state_(state), pathContext_(pathContext) {
139 if (a_) T::prePathSignal(a_, pathContext_);
141 ~PathSignalSentry() {
142 HLTPathStatus
status(state_, nwrwue_);
143 if(a_) T::postPathSignal(a_,
status, pathContext_);
149 PathContext
const* pathContext_;
153 template <
typename T>
155 StreamID const& streamID,
typename T::Context
const* context) {
166 bool should_continue =
true;
169 i !=
end && should_continue;
175 should_continue =
i->runWorker<
T>(ep, es, streamID, context);
177 should_continue =
i->runWorker<
T>(ep, es, streamID, context);
183 std::ostringstream ost;
186 i->getWorker()->description(), ost.str());
189 if (not should_continue) {
std::string const & pathName() const
void recordStatus(int nwrwue, bool isEvent)
void handleEarlyFinish(EventPrincipal &)
int timesFailed(size_type i) const
std::vector< EarlyDeleteHelper * > earlyDeleteHelpers_
std::vector< WorkerInPath > WorkersInPath
WorkersInPath::size_type size_type
HLTState
status of a trigger path
int timesPassed(size_type i) const
void processOneOccurrence(typename T::MyPrincipal &, EventSetup const &, StreamID const &, typename T::Context const *)
std::shared_ptr< ActivityRegistry > actReg_
void handleEarlyFinish(RunPrincipal &)
std::shared_ptr< HLTGlobalStatus > TrigResPtr
void handleEarlyFinish(LuminosityBlockPrincipal &)
static void exceptionContext(cms::Exception &ex, bool isEvent, bool begin, BranchType branchType, ModuleDescription const &, std::string const &id, PathContext const &)
void updateCounters(bool succeed, bool isEvent)
int timesVisited(size_type i) const
bool handleWorkerFailure(cms::Exception &e, int nwrwue, bool isEvent, bool begin, BranchType branchType, ModuleDescription const &, std::string const &id)
void setEarlyDeleteHelpers(std::map< const Worker *, EarlyDeleteHelper * > const &)
ExceptionToActionTable const * act_table_
Path const & operator=(Path const &)=delete
std::string const & name() const
Worker const * getWorker(size_type i) const
auto wrap(F iFunc) -> decltype(iFunc())
int timesExcept(size_type i) const
Path(int bitpos, std::string const &path_name, WorkersInPath const &workers, TrigResPtr trptr, ExceptionToActionTable const &actions, std::shared_ptr< ActivityRegistry > reg, StreamContext const *streamContext, PathContext::PathType pathType)