Falaise  4.0.1
SuperNEMO Software Toolkit
Namespaces | Classes | Typedefs | Functions
snemo Namespace Reference

Namespaces

 cut
 
 datamodel
 
 geometry
 
 processing
 
 simulation
 

Classes

class  bad_service_access
 Exception reporting that a service_handle is empty. More...
 
class  bad_service_type
 Exception reporting that a service is provided, but of the wrong type. More...
 
class  geometry_svc
 Locate, track, and trace elements of the SuperNEMO detector geometry. More...
 
class  missing_service_error
 Exception reporting that a service is missing in the provider. More...
 
class  service_handle
 Semi-smart pointer holding a service interface. More...
 
class  service_info
 Service utility. More...
 
struct  service_traits
 Template struct for defining trait types and functions for a service. More...
 
struct  service_traits< geometry_svc >
 Specialization of service_traits for geometry_svc. More...
 
struct  service_traits< histogram >
 

Typedefs

using geometry_svc = const geomtools::manager
 
using histogram = dpp::histogram_service
 
template<typename T >
using service_label = typename boost::mpl::c_str< typename service_traits< T >::label_type >::type
 Convenience type alias for extracting the label of a service. More...
 

Functions

template<typename T >
T * service_maker (datatools::service_manager &provider)
 Make a service_handle from a datatools::service_manager provider. More...
 

Typedef Documentation

◆ geometry_svc

◆ histogram

◆ service_label

template<typename T >
using snemo::service_label = typedef typename boost::mpl::c_str<typename service_traits<T>::label_type>::type

Convenience type alias for extracting the label of a service.

// get label for "Service" in string form
std::string label = falaise::service_label<Service>::value;

Function Documentation

◆ service_maker()

template<typename T >
T* snemo::service_maker ( datatools::service_manager provider)

Make a service_handle from a datatools::service_manager provider.

Free template function used by constructor of service_handle. As with that class, the template parameter must have defined service_traits.

Template Parameters
Ttype of service to make
Parameters
[in]providerservice provider to extract service from
Returns
raw pointer to service interface
Exceptions
missing_service_errorif provider cannot supply the service
bad_service_typeif provider cannot supply a service of type T
See also
snemo::service_handle
snemo::service_traits