ATLAS Offline Software
Loading...
Searching...
No Matches
Parameter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4/* Parameter.h
5 * L1TopoInterfaces
6 *
7 * This class describes Parameters that an algorithm can carry
8 *
9 *
10 *
11 */
12
13#ifndef L1TOPOINTERFACES_PARAMETER_H
14#define L1TOPOINTERFACES_PARAMETER_H
15
16#include <iosfwd>
17#include <string>
18#include <string_view>
19#include <stdint.h>
20
21namespace TCS {
22
23 typedef uint32_t parType_t;
24
25 class Parameter {
26 public:
27
28 Parameter(std::string_view name, TCS::parType_t value);
29 Parameter(std::string_view name, TCS::parType_t value, unsigned int selection);
30
32
33 // accessors
34 const std::string & name() const { return m_name; }
35 unsigned int selection() const { return m_selection; }
36 parType_t value() const { return m_value; }
37 unsigned int position() const { return m_position; }
39 bool isDefault() const { return m_isDefault; }
40 bool isExtended() const { return m_isExtended; }
41 parType_t operator()() const { return m_value; }
42
43 // new accessors
44 const std::string & val() const { return m_val; }
45 const std::string& defaultVal() const { return m_defaultVal; }
46 unsigned int pos() const { return m_pos; }
47 const std::string & sel() const { return m_sel; }
48
49 // setters
50 void setName(const std::string& name) { m_name = name; }
56
57 // new setters
58 void setVal(const std::string& val) { m_val = val; }
59 void setPos(unsigned int pos) { m_pos = pos; }
60 void setSel(const std::string& sel) { m_sel = sel; }
61
62 private:
63
64 std::string m_name; // parameter name
65 parType_t m_value {0}; // parameter value
66 unsigned int m_position {0}; // parameter position
67 unsigned int m_selection {0}; // parameter selection
68 parType_t m_defaultValue {0}; // default value
69 bool m_isDefault {true}; // indicates if the value has been overwritten, the logic of this is defined by the outside
70 bool m_isExtended {false};
71
72 // new private vars
73 std::string m_val;
74 unsigned int m_pos{0};
75 std::string m_sel;
76 std::string m_defaultVal;
77 };
78
79std::ostream & operator<<(std::ostream &, const TCS::Parameter&);
80
81} // end of namespace TCS
82
83#endif /* defined(L1TOPOINTERFACES_PARAMETER_H) */
parType_t m_value
Definition Parameter.h:65
void setPosition(parType_t position)
Definition Parameter.h:53
void setSelection(parType_t selection)
Definition Parameter.h:51
parType_t value() const
Definition Parameter.h:36
bool m_isExtended
Definition Parameter.h:70
void setIsDefault(bool isDefault)
Definition Parameter.h:54
unsigned int m_pos
Definition Parameter.h:74
bool isExtended() const
Definition Parameter.h:40
void setSel(const std::string &sel)
Definition Parameter.h:60
unsigned int m_selection
Definition Parameter.h:67
Parameter(std::string_view name, TCS::parType_t value)
Definition Parameter.cxx:15
parType_t m_defaultValue
Definition Parameter.h:68
std::string m_sel
Definition Parameter.h:75
void setIsExtended(bool isExtended)
Definition Parameter.h:55
void setName(const std::string &name)
Definition Parameter.h:50
parType_t defaultValue() const
Definition Parameter.h:38
Parameter(std::string_view name, TCS::parType_t value, unsigned int selection)
std::string m_defaultVal
Definition Parameter.h:76
bool isDefault() const
Definition Parameter.h:39
void setValue(parType_t value)
Definition Parameter.h:52
std::string m_name
Definition Parameter.h:64
unsigned int m_position
Definition Parameter.h:66
const std::string & defaultVal() const
Definition Parameter.h:45
unsigned int pos() const
Definition Parameter.h:46
unsigned int selection() const
Definition Parameter.h:35
void setVal(const std::string &val)
Definition Parameter.h:58
const std::string & sel() const
Definition Parameter.h:47
const std::string & name() const
Definition Parameter.h:34
unsigned int position() const
Definition Parameter.h:37
parType_t operator()() const
Definition Parameter.h:41
const std::string & val() const
Definition Parameter.h:44
void setPos(unsigned int pos)
Definition Parameter.h:59
std::string m_val
Definition Parameter.h:73
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)
uint32_t parType_t
Definition Parameter.h:23