artdaq_core  v3_06_10
artdaq::FragmentNameHelper Class Referenceabstract

The FragmentNameHelper translates between Fragments and their instance names (usually by type, but any/all RawFragmentHeader fields, or even Overlays, may be used) More...

#include <artdaq-core/Data/FragmentNameHelper.hh>

Inheritance diagram for artdaq::FragmentNameHelper:
artdaq::ArtdaqFragmentNameHelper

Public Member Functions

virtual ~FragmentNameHelper ()=default
 Default virtual destructor.
 
 FragmentNameHelper (std::string unidentified_instance_name, std::vector< std::pair< artdaq::Fragment::type_t, std::string >> extraTypes)
 FragmentNameHelper Constructor. More...
 
void SetBasicTypes (std::map< artdaq::Fragment::type_t, std::string > const &type_map)
 Sets the basic types to be translated. (Should not include "container" types.)
 
void AddExtraType (artdaq::Fragment::type_t type_id, std::string const &type_name)
 Adds an additional type to be translated.
 
std::string GetUnidentifiedInstanceName () const
 Get the configured unidentified_instance_name. More...
 
virtual std::string GetInstanceNameForType (artdaq::Fragment::type_t type_id) const =0
 Returns the basic translation for the specified type. Must be implemented by derived classes.
 
virtual std::set< std::string > GetAllProductInstanceNames () const =0
 Returns the full set of product instance names which may be present in the data, based on the types that have been specified in the SetBasicTypes() and AddExtraType() methods. This does include "container" types, if the container type mapping is part of the basic types. Must be implemented by derived classes.
 
virtual std::pair< bool,
std::string > 
GetInstanceNameForFragment (artdaq::Fragment const &fragment) const =0
 Returns the product instance name for the specified fragment, based on the types that have been specified in the SetBasicTypes() and AddExtraType() methods. This does include the use of "container" types, if the container type mapping is part of the basic types. If no mapping is found, the specified unidentified_instance_name should be returned. Must be implemented by derived classes.
 

Protected Attributes

std::map
< artdaq::Fragment::type_t,
std::string > 
type_map_
 Map relating Fragment Type to strings.
 
std::string unidentified_instance_name_
 The name to use for unknown Fragment types.
 

Detailed Description

The FragmentNameHelper translates between Fragments and their instance names (usually by type, but any/all RawFragmentHeader fields, or even Overlays, may be used)

Definition at line 34 of file FragmentNameHelper.hh.

Constructor & Destructor Documentation

artdaq::FragmentNameHelper::FragmentNameHelper ( std::string  unidentified_instance_name,
std::vector< std::pair< artdaq::Fragment::type_t, std::string >>  extraTypes 
)
inline

FragmentNameHelper Constructor.

Parameters
unidentified_instance_nameName to use for unidentified Fragments
extraTypesAdditional types to register

Definition at line 47 of file FragmentNameHelper.hh.

Member Function Documentation

std::string artdaq::FragmentNameHelper::GetUnidentifiedInstanceName ( ) const
inline

Get the configured unidentified_instance_name.

Returns
The configured unidentified_instance_name

Definition at line 81 of file FragmentNameHelper.hh.


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