All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs
geo_types_fhicl.h File Reference

Utilities for using geometry IDs in FHiCL validated configuration. More...

#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
#include "fhiclcpp/types/OptionalTable.h"
#include "fhiclcpp/types/Table.h"
#include "fhiclcpp/types/OptionalSequence.h"
#include "fhiclcpp/types/Sequence.h"
#include "fhiclcpp/types/OptionalAtom.h"
#include "fhiclcpp/types/Atom.h"
#include <vector>
#include <optional>
#include <cstddef>

Go to the source code of this file.

Classes

struct  geo::fhicl::IDparameterTraits< IDparam >
 Traits for ID parameter objects. More...
 
struct  geo::fhicl::ValidIDConfig
 Helper class holding the ID validity flag. More...
 
struct  geo::fhicl::IDConfig< IDtype >
 Type of ID configuration structure (requires specialization) More...
 
struct  geo::fhicl::IDConfig< geo::CryostatID >
 Configuration structure for validated geo::CryostatID parameter. More...
 
struct  geo::fhicl::IDConfig< geo::TPCID >
 Configuration structure for validated geo::TPCID parameter. More...
 
struct  geo::fhicl::IDConfig< geo::OpDetID >
 Configuration structure for validated geo::OpDetID parameter. More...
 
struct  geo::fhicl::IDConfig< geo::PlaneID >
 Configuration structure for validated geo::PlaneID parameter. More...
 
struct  geo::fhicl::IDConfig< geo::WireID >
 Configuration structure for validated geo::PlaneID parameter. More...
 
struct  geo::fhicl::IDparameterTraits< geo::fhicl::IDparameter< ID > >
 
struct  geo::fhicl::IDparameterTraits< geo::fhicl::OptionalID< ID > >
 
struct  geo::fhicl::IDparameterTraits< geo::fhicl::IDsequence< ID > >
 
struct  geo::fhicl::IDparameterTraits< geo::fhicl::OptionalIDsequence< ID > >
 

Namespaces

 geo::fhicl
 FHiCL objects representing geometry classes as configuration parameters.
 

Typedefs

template<typename IDtype >
using geo::fhicl::IDparameter = ::fhicl::Table< IDConfig< IDtype >>
 Member type of validated ID parameter. More...
 
template<typename IDtype >
using geo::fhicl::OptionalID = ::fhicl::OptionalTable< IDConfig< IDtype >>
 Member type of optional validated ID parameter. More...
 
template<typename IDtype >
using geo::fhicl::IDsequence = ::fhicl::Sequence< IDparameter< IDtype >>
 Member type of sequence of ID parameters. More...
 
template<typename IDtype >
using geo::fhicl::OptionalIDsequence = ::fhicl::OptionalSequence< IDparameter< IDtype >>
 Member type of optional sequence of ID parameters. More...
 
using geo::fhicl::CryostatID = IDparameter< geo::CryostatID >
 Member type of validated geo::CryostatID parameter. More...
 
using geo::fhicl::OptionalCryostatID = OptionalID< geo::CryostatID >
 Member type of optional validated geo::CryostatID parameter. More...
 
using geo::fhicl::CryostatIDsequence = IDsequence< geo::CryostatID >
 Member type of sequence of geo::CryostatID parameters. More...
 
using geo::fhicl::OptionalCryostatIDsequence = OptionalIDsequence< geo::CryostatID >
 Member type of optional sequence of geo::CryostatID parameters. More...
 
using geo::fhicl::TPCID = IDparameter< geo::TPCID >
 Member type of validated geo::TPCID parameter. More...
 
using geo::fhicl::OptionalTPCID = OptionalID< geo::TPCID >
 Member type of optional validated geo::TPCID parameter. More...
 
using geo::fhicl::TPCIDsequence = IDsequence< geo::TPCID >
 Member type of sequence of geo::TPCID parameters. More...
 
using geo::fhicl::OptionalTPCIDsequence = OptionalIDsequence< geo::TPCID >
 Member type of optional sequence of geo::TPCID parameters. More...
 
using geo::fhicl::OpDetID = IDparameter< geo::OpDetID >
 Member type of validated geo::OpDetID parameter. More...
 
using geo::fhicl::OptionalOpDetID = OptionalID< geo::OpDetID >
 Member type of optional validated geo::OpDetID parameter. More...
 
using geo::fhicl::OpDetIDsequence = IDsequence< geo::OpDetID >
 Member type of sequence of geo::OpDetID parameters. More...
 
using geo::fhicl::OptionalOpDetIDsequence = OptionalIDsequence< geo::OpDetID >
 Member type of optional sequence of geo::OpDetID parameters. More...
 
using geo::fhicl::PlaneID = IDparameter< geo::PlaneID >
 Member type of validated geo::PlaneID parameter. More...
 
using geo::fhicl::OptionalPlaneID = OptionalID< geo::PlaneID >
 Member type of optional validated geo::PlaneID parameter. More...
 
using geo::fhicl::PlaneIDsequence = IDsequence< geo::PlaneID >
 Member type of sequence of geo::PlaneID parameters. More...
 
using geo::fhicl::OptionalPlaneIDsequence = OptionalIDsequence< geo::PlaneID >
 Member type of optional sequence of geo::PlaneID parameters. More...
 
using geo::fhicl::WireID = IDparameter< geo::WireID >
 Member type of validated geo::WireID parameter. More...
 
using geo::fhicl::OptionalWireID = OptionalID< geo::WireID >
 Member type of optional validated geo::WireID parameter. More...
 
using geo::fhicl::WireIDsequence = IDsequence< geo::WireID >
 Member type of sequence of geo::WireID parameters. More...
 
using geo::fhicl::OptionalWireIDsequence = OptionalIDsequence< geo::WireID >
 Member type of optional sequence of geo::WireID parameters. More...
 
template<typename IDparam >
using geo::fhicl::IDof = typename IDparameterTraits< IDparam >::ID_t
 Type of ID of the specified ID FHiCL parameter object/. More...
 

Functions

template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readID (IDparameter< SrcID > const &atom)
 Returns an ID extracted from the specified ID atom. More...
 
template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readParameter (IDparameter< SrcID > const &atom)
 
template<typename SrcID , typename ID = SrcID>
std::optional< ID > geo::fhicl::readOptionalID (OptionalID< SrcID > const &atom)
 Returns an ID extracted from the specified optional ID atom. More...
 
template<typename SrcID , typename ID = SrcID>
std::optional< ID > geo::fhicl::readParameter (OptionalID< SrcID > const &atom)
 
template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readOptionalID (OptionalID< SrcID > const &atom, ID const &defValue)
 Returns an ID extracted from the specified optional ID atom. More...
 
template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readOptionalID (OptionalID< SrcID > const &atom, ID &&defValue)
 
template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readParameter (OptionalID< SrcID > const &atom, ID const &defValue)
 
template<typename SrcID , typename ID = SrcID>
ID geo::fhicl::readParameter (OptionalID< SrcID > const &atom, ID &&defValue)
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readIDsequence (IDsequence< SrcID > const &seq)
 Returns a vector of IDs extracted from the specified ID sequence. More...
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readParameter (IDsequence< SrcID > const &seq)
 
template<typename SrcID , typename ID = SrcID>
std::optional< std::vector< ID > > geo::fhicl::readOptionalIDsequence (OptionalIDsequence< SrcID > const &seq)
 Returns a vector of IDs extracted from the specified optional ID sequence. More...
 
template<typename SrcID , typename ID = SrcID>
std::optional< std::vector< ID > > geo::fhicl::readParameter (OptionalIDsequence< SrcID > const &seq)
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readOptionalIDsequence (OptionalIDsequence< SrcID > const &seq, std::vector< ID > const &defValue)
 Returns a vector of IDs extracted from the specified optional ID sequence, or a default value. More...
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readOptionalIDsequence (OptionalIDsequence< SrcID > const &seq, std::vector< ID > &&defValue)
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readParameter (OptionalIDsequence< SrcID > const &seq, std::vector< ID > const &defValue)
 
template<typename SrcID , typename ID = SrcID>
std::vector< ID > geo::fhicl::readParameter (OptionalIDsequence< SrcID > const &seq, std::vector< ID > &&defValue)
 

Detailed Description

Utilities for using geometry IDs in FHiCL validated configuration.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.slac..nosp@m.stan.nosp@m.ford..nosp@m.edu)
Date
November 25, 2019

This library is header-only.

Definition in file geo_types_fhicl.h.