JANA2
C++ framework for multi-threaded data processing
|
Public Types | |
using | CollectionT = typename T::collection_type |
Public Types inherited from JFactoryT< T > | |
using | IteratorType = typename std::vector< T * >::const_iterator |
using | PairType = std::pair< IteratorType, IteratorType > |
Public Types inherited from JFactory | |
enum class | Status { Uninitialized , Unprocessed , Processed , Inserted , 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 | Create (const std::shared_ptr< const JEvent > &event) final |
Create() calls JFactory::Init,BeginRun,Process in an invariant-preserving way without knowing the exact type of object contained. More... | |
std::type_index | GetObjectType () const final |
std::size_t | GetNumObjects () const final |
void | ClearData () final |
void | SetCollection (CollectionT &&collection) |
void | SetCollection (std::unique_ptr< CollectionT > collection) |
void | Set (const std::vector< T * > &aData) final |
void | Set (std::vector< T * > &&aData) final |
void | Insert (T *aDatum) final |
Public Member Functions inherited from JFactoryT< T > | |
JFactoryT (std::string tag="") | |
PairType | CreateAndGetData (const std::shared_ptr< const JEvent > &event) |
CreateAndGetData handles all the preconditions and postconditions involved in calling the user-defined Open(), ChangeRun(), and Process() methods. More... | |
const std::vector< T * > & | GetData () |
void | Set (const std::vector< JObject * > &aData) override |
Please use the typed setters instead whenever possible. | |
void | Insert (JObject *aDatum) override |
Please use the typed setters instead whenever possible. | |
template<typename S > | |
void | EnableGetAs () |
EnableGetAs generates a vtable entry so that users may extract the contents of this JFactoryT from the type-erased JFactory. More... | |
template<typename S > | |
void | EnableGetAs (std::true_type) |
template<typename S > | |
void | EnableGetAs (std::false_type) |
Public Member Functions inherited from JFactory | |
JFactory (std::string aName, std::string aTag="") | |
std::string | GetName () const __attribute__((deprecated)) |
std::string | GetTag () const |
std::string | GetObjectName () const |
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 | SetName (std::string objectName) __attribute__((deprecated)) |
void | SetTag (std::string tag) |
void | SetObjectName (std::string objectName) |
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) |
uint32_t | GetFactoryFlags () const |
Get all flags in the form of a single word. | |
void | SetFactoryFlag (JFactory_Flags_t f) |
Set a flag (or flags) | |
void | ClearFactoryFlag (JFactory_Flags_t f) |
Clear a flag (or flags) | |
bool | TestFactoryFlag (JFactory_Flags_t f) const |
Test if a flag (or set of flags) is set. | |
void | SetPersistentFlag (bool persistent) |
void | SetNotOwnerFlag (bool not_owner) |
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() ) | |
template<typename S > | |
std::vector< S * > | GetAs () |
Access the encapsulated data, performing an upcast if necessary. More... | |
void | DoInit () |
void | DoFinish () |
void | Summarize (JComponentSummary &summary) const override |
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. | |
JApplication * | GetApplication () const |
JLogger & | GetLogger () |
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) |
void | ConfigureAllParameters (std::map< std::string, std::string > fields) |
Public Member Functions inherited from JFactoryPodio | |
void | SetSubsetCollection (bool isSubsetCollection=true) |
Friends | |
class | JEvent |
Additional Inherited Members | |
Protected Attributes inherited from JFactoryT< T > | |
std::vector< T * > | mData |
Protected Attributes inherited from JFactory | |
std::string | mObjectName |
std::string | mTag |
uint32_t | mFlags = WRITE_TO_OUTPUT |
int32_t | mPreviousRunNumber = -1 |
std::unordered_map< std::type_index, std::unique_ptr< JAny > > | mUpcastVTable |
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 |
JApplication * | m_app = nullptr |
JLogger | m_logger |
Protected Attributes inherited from JFactoryPodio | |
const podio::CollectionBase * | mCollection = nullptr |
bool | mIsSubsetCollection = false |
podio::Frame * | mFrame = nullptr |
|
finalvirtual |
Create() calls JFactory::Init,BeginRun,Process in an invariant-preserving way without knowing the exact type of object contained.
In order to access these objects when all you have is a JFactory*, use JFactory::GetAs().
Reimplemented from JFactory.
References JFactory::Create().
void JFactoryPodioT< T >::SetCollection | ( | 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
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