Iguana 0.0.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
iguana Namespace Reference

Detailed Description

General, top-level namespace for algorithms and infrastructure. For algorithms and bindings, see its sub-namespaces.

Namespaces

namespace  bindings
 General iguana bindings.
 
namespace  clas12
 CLAS12 algorithms.
 
namespace  example
 Example algorithms.
 
namespace  particle
 Light-weight namespace for particle constants.
 
namespace  physics
 Physics algorithms.
 

Classes

class  Algorithm
 Base class for all algorithms to inherit from. More...
 
class  AlgorithmFactory
 Factory to create an algorithm. More...
 
class  AlgorithmSequence
 User-level class for running a sequence of algorithms. More...
 
class  ConcurrentParam
 abstract base class for concurrently mutable configuration parameters More...
 
class  ConcurrentParamFactory
 factory to create the appropriate ConcurrentParam-derived class instance for the current GlobalConcurrencyModel More...
 
class  ConfigFileReader
 Configuration file manager. More...
 
class  GlobalParam
 a globally accessible parameter More...
 
class  Logger
 Simple logger service. More...
 
class  MemoizedParam
 an iguana::ConcurrentParam that uses memoization for thread safety; used when iguana::GlobalConcurrencyModel is "memoize" More...
 
struct  Momentum3
 3-momentum type More...
 
struct  Momentum4
 4-momentum type More...
 
class  Object
 A named object with a Logger instance. More...
 
class  RCDBReader
 RCDB reader. More...
 
class  SingleThreadParam
 a parameter that is not thread safe; used when iguana::GlobalConcurrencyModel is "single" More...
 
class  Validator
 Base class for all algorithm validators to inherit from. More...
 
class  YAMLReader
 A YAMLReader based on yaml-cpp. More...
 

Typedefs

using option_t
 Option value variant type.
 
using algo_t = std::unique_ptr<Algorithm>
 Algorithm pointer type.
 
using vector_element_t = double
 Vector element type.
 
using concurrent_key_t = std::size_t
 concurrent hash key type
 

Variables

GlobalParam< std::string > GlobalConcurrencyModel
 The concurrency model, for running certain algorithms in a thread-safe way.
 
GlobalParam< std::string > GlobalRcdbUrl
 Path to the RCDB.
 

Typedef Documentation

◆ algo_t

using iguana::algo_t = std::unique_ptr<Algorithm>

Algorithm pointer type.

Definition at line 240 of file Algorithm.h.

◆ concurrent_key_t

using iguana::concurrent_key_t = std::size_t

concurrent hash key type

Definition at line 8 of file ConcurrentParam.h.

◆ option_t

Initial value:
std::variant<
int,
double,
std::string,
std::vector<int>,
std::vector<double>,
std::vector<std::string>>

Option value variant type.

Definition at line 23 of file Algorithm.h.

◆ vector_element_t

using iguana::vector_element_t = double

Vector element type.

Definition at line 11 of file TypeDefs.h.

Variable Documentation

◆ GlobalConcurrencyModel

GlobalParam<std::string> iguana::GlobalConcurrencyModel
extern

The concurrency model, for running certain algorithms in a thread-safe way.

Available Models
  • "single": no thread safety, but optimal for single-threaded users
  • "memoize": thread-safe lazy loading of configuration parameters
  • "none": no concurrency model set by user; this is the default option, and if this is the choice when ConcurrentParamFactory::Create is called, an appropriate option will be chosen by ConcurrentParamFactory::Create instead

◆ GlobalRcdbUrl

GlobalParam<std::string> iguana::GlobalRcdbUrl
extern

Path to the RCDB.

See also
iguana::RCDBReader for details