File indexing completed on 2025-01-18 10:01:39
0001
0002
0003
0004
0005 #pragma once
0006 #include <JANA/JEventProcessor.h>
0007 #include <JANA/Topology/JPipelineArrow.h>
0008
0009 class JEventPool;
0010
0011 using Event = std::shared_ptr<JEvent>;
0012 using EventQueue = JMailbox<Event*>;
0013
0014 class JEventProcessorArrow : public JPipelineArrow<JEventProcessorArrow, Event> {
0015
0016 private:
0017 std::vector<JEventProcessor*> m_processors;
0018
0019 public:
0020 JEventProcessorArrow(std::string name,
0021 EventQueue *input_queue,
0022 EventQueue *output_queue,
0023 JEventPool *pool);
0024
0025 void add_processor(JEventProcessor* processor);
0026
0027 void process(Event* event, bool& success, JArrowMetrics::Status& status);
0028
0029 void initialize() final;
0030 void finalize() final;
0031 };
0032