JANA2
C++ framework for multi-threaded data processing
Loading...
Searching...
No Matches
JFactoryPodioT< T > Class Template Reference
Inheritance diagram for JFactoryPodioT< T >:
[legend]
Collaboration diagram for JFactoryPodioT< T >:
[legend]

Public Types

using CollectionT = typename T::collection_type
 
- Public Types inherited from JFactory
enum class  Status {
  Uninitialized ,
  Unprocessed ,
  Processed ,
  Inserted ,
  Excepted ,
  Finished
}
 
enum class  CreationStatus {
  NotCreatedYet ,
  Created ,
  Inserted ,
  InsertedViaGetObjects ,
  NeverCreated
}
 
enum  JFactory_Flags_t {
  JFACTORY_NULL = 0x00 ,
  PERSISTENT = 0x01 ,
  WRITE_TO_OUTPUT = 0x02 ,
  NOT_OBJECT_OWNER = 0x04 ,
  REGENERATE = 0x08
}
 
- Public Types inherited from jana::components::JComponent
enum class  Status {
  Uninitialized ,
  Initialized ,
  Opened ,
  Closed ,
  Finalized
}
 
enum class  CallbackStyle {
  LegacyMode ,
  ExpertMode ,
  DeclarativeMode
}
 

Public Member Functions

void Init () override
 
void BeginRun (const std::shared_ptr< const JEvent > &) override
 
void ChangeRun (const std::shared_ptr< const JEvent > &) override
 
void Process (const std::shared_ptr< const JEvent > &) override
 
void EndRun () override
 
void Finish () override
 
void SetTag (std::string tag)
 
void SetSubsetCollection (bool is_subset=true)
 
void SetCollection (CollectionT &&collection)
 
void SetCollection (std::unique_ptr< CollectionT > collection)
 
const podio::CollectionBase * GetCollection ()
 
- Public Member Functions inherited from JFactory
void SetTag (std::string tag)
 
std::string GetTag () const
 
std::string GetObjectName () const
 
void SetObjectName (std::string object_name)
 
std::string GetFactoryName () const
 
Status GetStatus () const
 
CreationStatus GetCreationStatus () const
 
JCallGraphRecorder::JDataOrigin GetInsertOrigin () const
 If objects were placed here by JEvent::Insert() this records whether that call was made from a source or factory.
 
uint32_t GetPreviousRunNumber (void) const
 
void SetFactoryName (std::string factoryName)
 
void SetStatus (Status status)
 
void SetCreationStatus (CreationStatus status)
 
void SetInsertOrigin (JCallGraphRecorder::JDataOrigin origin)
 Called automatically by JEvent::Insert() to records whether that call was made by a source or factory.
 
void SetPreviousRunNumber (uint32_t aRunNumber)
 
virtual void SetFactoryFlag (JFactory_Flags_t f)
 
void SetPersistentFlag (bool persistent)
 
void SetRegenerateFlag (bool regenerate)
 
void SetWriteToOutputFlag (bool write_to_output)
 
bool GetWriteToOutputFlag ()
 
JCallGraphRecorder::JDataSource GetDataSource () const
 Get data source value depending on how objects came to be here. (Used mainly by JEvent::Get() )
 
std::type_index GetObjectType () const
 
std::size_t GetNumObjects () const
 
void ClearData ()
 
template<typename S >
std::vector< S * > GetAs ()
 Access the encapsulated data, performing an upcast if necessary.
 
virtual void Create (const std::shared_ptr< const JEvent > &event)
 Create() calls JFactory::Init,BeginRun,Process in an invariant-preserving way without knowing the exact type of object contained.
 
virtual void Create (const JEvent &event)
 
void DoInit ()
 
void DoFinish ()
 
void Summarize (JComponentSummary &summary) const override
 
virtual void Set (const std::vector< JObject * > &)
 
- Public Member Functions inherited from jana::components::JComponent
void SetLevel (JEventLevel level)
 
void SetCallbackStyle (CallbackStyle style)
 
void SetPrefix (std::string prefix)
 
void SetTypeName (std::string type_name)
 For convenience, we provide a NAME_OF_THIS macro so that the user doesn't have to store the type name as a string, because that could get out of sync if automatic refactoring tools are used.
 
JApplicationGetApplication () const
 
JLoggerGetLogger ()
 
std::string GetPrefix () const
 
JEventLevel GetLevel () const
 
std::string GetLoggerName () const
 
std::string GetPluginName () const
 
void SetLoggerName (std::string logger_name)
 
void SetPluginName (std::string plugin_name)
 
std::string GetTypeName () const
 
CallbackStyle GetCallbackStyle () const
 
Status GetStatus () const
 
void SetApplication (JApplication *app)
 
void SetLogger (JLogger logger)
 
template<typename F >
void CallWithJExceptionWrapper (std::string func_name, F func)
 
void RegisterParameter (ParameterBase *parameter)
 
void RegisterService (ServiceBase *service)
 
const std::vector< ParameterBase * > GetAllParameters () const
 
- Public Member Functions inherited from jana::components::JHasRunCallbacks
void RegisterResource (ResourceBase *resource)
 
virtual void ChangeRun (int32_t)
 
virtual void ChangeRun (const JEvent &)
 
- Public Member Functions inherited from jana::components::JHasOutputs
const std::vector< OutputBase * > & GetOutputs () const
 
const std::vector< VariadicOutputBase * > & GetVariadicOutputs () const
 
JDatabundleGetFirstDatabundle () const
 
void RegisterOutput (OutputBase *output)
 
void RegisterOutput (VariadicOutputBase *output)
 
void SummarizeOutputs (JComponentSummary::Component &summary) const
 
void WireOutputs (JEventLevel component_level, const std::vector< std::string > &single_output_databundle_names, const std::vector< std::vector< std::string > > &variadic_output_databundle_names, bool use_short_names)
 

Friends

class JEvent
 

Additional Inherited Members

- Protected Member Functions inherited from jana::components::JHasInputs
void RegisterInput (InputBase *input)
 
void RegisterInput (VariadicInputBase *input)
 
const std::vector< InputBase * > & GetInputs ()
 
const std::vector< VariadicInputBase * > & GetVariadicInputs ()
 
void WireInputs (JEventLevel component_level, const std::vector< JEventLevel > &single_input_levels, const std::vector< std::string > &single_input_databundle_names, const std::vector< JEventLevel > &variadic_input_levels, const std::vector< std::vector< std::string > > &variadic_input_databundle_names)
 
void WireInputsCompatibility (JEventLevel component_level, const std::vector< JEventLevel > &single_input_levels, const std::vector< std::string > &single_input_databundle_names)
 
void SummarizeInputs (JComponentSummary::Component &summary) const
 
- Protected Attributes inherited from JFactory
bool mRegenerate = false
 
bool mWriteToOutput = true
 
bool mPersistent = false
 
int32_t mPreviousRunNumber = -1
 
bool mInsideCreate = false
 
std::unordered_map< std::type_index, std::unique_ptr< JAny > > mUpcastVTable
 
std::string mObjectName
 
Status mStatus = Status::Uninitialized
 
JCallGraphRecorder::JDataOrigin m_insert_origin = JCallGraphRecorder::ORIGIN_NOT_AVAILABLE
 
CreationStatus mCreationStatus = CreationStatus::NotCreatedYet
 
- Protected Attributes inherited from jana::components::JComponent
std::vector< ParameterBase * > m_parameters
 
std::vector< ServiceBase * > m_services
 
JEventLevel m_level = JEventLevel::PhysicsEvent
 
CallbackStyle m_callback_style = CallbackStyle::LegacyMode
 
std::string m_prefix
 
std::string m_plugin_name
 
std::string m_logger_name
 
std::string m_type_name
 
Status m_status = Status::Uninitialized
 
std::mutex m_mutex
 
JApplicationm_app = nullptr
 
JLogger m_logger
 
- Protected Attributes inherited from jana::components::JHasRunCallbacks
std::vector< ResourceBase * > m_resources
 
int32_t m_last_run_number = -1
 
- Protected Attributes inherited from jana::components::JHasInputs
std::vector< InputBase * > m_inputs
 
std::vector< VariadicInputBase * > m_variadic_inputs
 
std::vector< std::pair< InputBase *, VariadicInputBase * > > m_ordered_inputs
 

Member Function Documentation

◆ BeginRun()

template<typename T >
void JFactoryPodioT< T >::BeginRun ( const std::shared_ptr< const JEvent > &  )
inlineoverridevirtual

◆ ChangeRun()

template<typename T >
void JFactoryPodioT< T >::ChangeRun ( const std::shared_ptr< const JEvent > &  )
inlineoverridevirtual

◆ EndRun()

template<typename T >
void JFactoryPodioT< T >::EndRun ( )
inlineoverridevirtual

◆ Finish()

template<typename T >
void JFactoryPodioT< T >::Finish ( )
inlineoverridevirtual

Reimplemented from JFactory.

◆ Init()

template<typename T >
void JFactoryPodioT< T >::Init ( )
inlineoverridevirtual

Reimplemented from JFactory.

◆ Process()

template<typename T >
void JFactoryPodioT< T >::Process ( const std::shared_ptr< const JEvent > &  )
inlineoverridevirtual

Reimplemented from JFactory.

◆ SetCollection() [1/2]

template<typename T >
void JFactoryPodioT< T >::SetCollection ( CollectionT &&  collection)

Provide a PODIO collection. Note that PODIO assumes ownership of this collection.

◆ SetCollection() [2/2]

template<typename T >
void JFactoryPodioT< T >::SetCollection ( std::unique_ptr< CollectionT >  collection)

Provide a PODIO collection. Note that PODIO assumes ownership of this collection, and the collection pointer should be assumed to be invalid after this call


The documentation for this class was generated from the following file: