artdaq  v3_08_00
ArtdaqFragmentNamingServiceInterface Class Referenceabstract

Interface for ArtdaqFragmentNamingService. This interface is declared to art as part of the required registration of an art Service. More...

#include <artdaq/ArtModules/ArtdaqFragmentNamingService.h>

Inheritance diagram for ArtdaqFragmentNamingServiceInterface:
ArtdaqFragmentNamingService

Public Member Functions

virtual ~ArtdaqFragmentNamingServiceInterface ()=default
 Default virtual destructor.
 
 ArtdaqFragmentNamingServiceInterface (fhicl::ParameterSet const &ps)
 ArtdaqFragmentNamingServiceInterface 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 type_name)
 Adds an additional type to be translated.
 
std::string GetUnidentifiedInstanceName ()
 Get the configured unidentified_instance_name. More...
 
virtual std::string GetInstanceNameForType (artdaq::Fragment::type_t type_id)=0
 Returns the basic translation for the specified type. Must be implemented by derived classes.
 
virtual std::set< std::string > GetAllProductInstanceNames ()=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)=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 is 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

Interface for ArtdaqFragmentNamingService. This interface is declared to art as part of the required registration of an art Service.

Definition at line 11 of file ArtdaqFragmentNamingService.h.

Constructor & Destructor Documentation

ArtdaqFragmentNamingServiceInterface::ArtdaqFragmentNamingServiceInterface ( fhicl::ParameterSet const &  ps)
inline

ArtdaqFragmentNamingServiceInterface constructor.

Parameters
psParameterSet used to configure ArtdaqFragmentNamingServiceInterface

ArtdaqFragmentNamingServiceInterface accepts the following Parameters: "unidentified_instance_name" (Default: "unidentified"): Name to use for any Fragments which are not successfully translated by the ArtdaqFragmentNamingServiceInterface "fragment_type_map" (Default: []): A list of Fragment type_t to string pairs for additional types to register with the ArtdaqFragmentNamingServiceInterface

Definition at line 27 of file ArtdaqFragmentNamingService.h.

Member Function Documentation

std::string ArtdaqFragmentNamingServiceInterface::GetUnidentifiedInstanceName ( )
inline

Get the configured unidentified_instance_name.

Returns
The configured unidentified_instance_name

Definition at line 61 of file ArtdaqFragmentNamingService.h.


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