1 #ifndef FWCore_Framework_Path_h
2 #define FWCore_Framework_Path_h
23 #include "boost/shared_ptr.hpp"
35 class ModuleDescription;
37 class LuminosityBlockPrincipal;
54 boost::shared_ptr<ActivityRegistry> reg,
62 StreamID const&,
typename T::Context
const*);
71 return std::pair<double, double>(0., 0.);
74 std::pair<double, double>
timeCpuReal(
unsigned int const i)
const {
147 template <
typename T>
148 class PathSignalSentry {
154 PathContext
const* pathContext) :
155 a_(a), name_(name), nwrwue_(nwrwue), state_(state), pathContext_(pathContext) {
156 if (a_) T::prePathSignal(a_, name_, pathContext_);
158 ~PathSignalSentry() {
159 HLTPathStatus
status(state_, nwrwue_);
160 if(a_) T::postPathSignal(a_, name_,
status, pathContext_);
167 PathContext
const* pathContext_;
171 template <
typename T>
173 StreamID const& streamID,
typename T::Context
const* context) {
189 bool should_continue =
true;
192 i !=
end && should_continue;
198 should_continue =
i->runWorker<
T>(ep, es, streamID, context);
200 should_continue =
i->runWorker<
T>(ep, es, streamID, context);
212 std::ostringstream ost;
215 i->getWorker()->description(), ost.str());
218 if (not should_continue) {
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
std::pair< double, double > timeCpuReal(unsigned int const i) const
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 *)
void handleEarlyFinish(RunPrincipal &)
boost::shared_ptr< HLTGlobalStatus > TrigResPtr
boost::shared_ptr< CPUTimer > StopwatchPointer
void stdToEDM(std::exception const &e)
void handleEarlyFinish(LuminosityBlockPrincipal &)
Path(int bitpos, std::string const &path_name, WorkersInPath const &workers, TrigResPtr trptr, ExceptionToActionTable const &actions, boost::shared_ptr< ActivityRegistry > reg, StreamContext const *streamContext, PathContext::PathType pathType)
boost::shared_ptr< ActivityRegistry > actReg_
static void exceptionContext(cms::Exception &ex, bool isEvent, bool begin, BranchType branchType, ModuleDescription const &, std::string const &id, PathContext const &)
void charPtrToEDM(char const *c)
void stringToEDM(std::string &s)
void updateCounters(bool succeed, bool isEvent)
int timesVisited(size_type i) const
std::pair< double, double > timeCpuReal() 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 &)
RunStopwatch::StopwatchPointer stopwatch_
ExceptionToActionTable const * act_table_
Path const & operator=(Path const &)=delete
std::string const & name() const
Worker const * getWorker(size_type i) const
int timesExcept(size_type i) const