ATLAS Offline Software
Loading...
Searching...
No Matches
ParameterSpace.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4// ParameterSpace.h
5// TopoCore
6// Created by Joerg Stelzer on 11/18/12.
7
8#ifndef __TopoCore__ParameterSpace__
9#define __TopoCore__ParameterSpace__
10
11#include <iostream>
12#include <vector>
13
14#include "Parameter.h"
15
16namespace TCS {
17
19 public:
20 typedef std::vector<TCS::Parameter> data_t;
21 typedef data_t::iterator iterator;
22 typedef data_t::const_iterator const_iterator;
23
24 ParameterSpace(const std::string & algName) :
25 m_index(0),
27 {};
28
30 m_index(0),
31 m_algName("NONE")
32 {};
33
34 bool isInitialized() const { return m_algName != "NONE"; }
35
36 const std::string & algName() const { return m_algName; }
37
38 // adds a new Parameter, throws TCS::Exception if parameter exists
39 // isDefault flag will be set to true
41 ParameterSpace & addParameter(const std::string & name, TCS::parType_t value);
42 ParameterSpace & addParameter(const std::string & name, TCS::parType_t value, unsigned int selection);
43
44 // sets a parameter value, throws TCS::Exception if parameter doesn't exist
45 // sets isDefault flag to false
47 ParameterSpace & setParameter(const std::string & name, TCS::parType_t value);
48 ParameterSpace & setParameter(const std::string & name, TCS::parType_t value, unsigned int selection);
49
50 // access to single parameter
51 const Parameter & parameter(const std::string & parameterName) const;
52
53 // access to a multi-selection parameter by index
54 const Parameter & parameter(const std::string & parameterName, unsigned int selection) const;
55
56 // access to all parameters
57 const std::vector<TCS::Parameter> & parameters() const { return m_parameters; }
58
59 // checks and returns true if a parameter of name parameterName already exists
60 bool contains(const std::string & parameterName, unsigned int selection) const;
61
62 void clear() { m_parameters.clear(); }
63
64 iterator begin() { return m_parameters.begin(); }
65 const_iterator begin() const { return m_parameters.begin(); }
66
67 iterator end() { return m_parameters.end(); }
68 const_iterator end() const { return m_parameters.end(); }
69
71 const data_t & operator()() const { return m_parameters; }
72
73 unsigned index() const { return m_index; }
74 void setIndex(unsigned int index) { m_index = index; }
75
76 private:
78 unsigned int m_index;
79
80 // name of the algorithm that owns these parameters
81 std::string m_algName;
82
83 };
84
85std::ostream & operator<<(std::ostream &, const TCS::ParameterSpace &);
86
87}
88
89#endif
const Parameter & parameter(const std::string &parameterName) const
const_iterator begin() const
const std::vector< TCS::Parameter > & parameters() const
bool isInitialized() const
data_t::iterator iterator
const data_t & operator()() const
const_iterator end() const
unsigned index() const
data_t::const_iterator const_iterator
void setIndex(unsigned int index)
std::vector< TCS::Parameter > data_t
bool contains(const std::string &parameterName, unsigned int selection) const
ParameterSpace & setParameter(const Parameter &p)
const std::string & algName() const
ParameterSpace & addParameter(const Parameter &p)
ParameterSpace & setParameter(const std::string &name, TCS::parType_t value)
ParameterSpace(const std::string &algName)
const std::string selection
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)
uint32_t parType_t
Definition Parameter.h:22
Definition index.py:1