Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /jana2/src/libraries/JANA/Components/JHasDatabundleOutputs.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 
0002 #pragma once
0003 #include <JANA/Components/JDatabundle.h>
0004 #include <JANA/Utils/JEventLevel.h>
0005 #include <memory>
0006 
0007 class JFactorySet;
0008 
0009 namespace jana::components {
0010 
0011 
0012 class JHasDatabundleOutputs {
0013 public:
0014     struct OutputBase {
0015     public:
0016         std::string type_name;
0017         std::vector<std::string> databundle_names;
0018         std::vector<JDatabundle*> databundles;
0019         JEventLevel level = JEventLevel::None;
0020         bool is_variadic = false;
0021 
0022         const std::vector<JDatabundle*>& GetDatabundles() { return databundles; }
0023 
0024         virtual void StoreData(const JFactorySet&) = 0;
0025         virtual void Reset() = 0;
0026     };
0027 
0028 private:
0029     std::vector<OutputBase*> m_databundle_outputs;
0030 
0031 public:
0032 
0033     const std::vector<OutputBase*>& GetDatabundleOutputs() const {
0034         return m_databundle_outputs;
0035     }
0036 
0037     void RegisterOutput(OutputBase* output) {
0038         m_databundle_outputs.push_back(output);
0039     }
0040 };
0041 
0042 
0043 } // namespace jana::components
0044 
0045