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 <iostream>
17#include <string>
18#include <stdint.h>
19
20namespace TCS {
21
22 typedef uint32_t parType_t;
23
24 class Parameter {
25 public:
26
27 Parameter(const std::string & name, TCS::parType_t value);
28 Parameter(const std::string & name, TCS::parType_t value, unsigned int selection);
29
31
32 // accessors
33 const std::string & name() const { return m_name; }
34 unsigned int selection() const { return m_selection; }
35 parType_t value() const { return m_value; }
36 unsigned int position() const { return m_position; }
38 bool isDefault() const { return m_isDefault; }
39 bool isExtended() const { return m_isExtended; }
40 parType_t operator()() const { return m_value; }
41
42 // new accessors
43 const std::string & val() const { return m_val; }
44 const std::string& defaultVal() const { return m_defaultVal; }
45 unsigned int pos() const { return m_pos; }
46 const std::string & sel() const { return m_sel; }
47
48 // setters
49 void setName(const std::string& name) { m_name = name; }
55
56 // new setters
57 void setVal(const std::string& val) { m_val = val; }
58 void setPos(unsigned int pos) { m_pos = pos; }
59 void setSel(const std::string& sel) { m_sel = sel; }
60
61 private:
62
63 std::string m_name; // parameter name
64 parType_t m_value {0}; // parameter value
65 unsigned int m_position {0}; // parameter position
66 unsigned int m_selection {0}; // parameter selection
67 parType_t m_defaultValue {0}; // default value
68 bool m_isDefault {true}; // indicates if the value has been overwritten, the logic of this is defined by the outside
69 bool m_isExtended {false};
70
71 // new private vars
72 std::string m_val;
73 unsigned int m_pos{0};
74 std::string m_sel;
75 std::string m_defaultVal;
76 };
77
78std::ostream & operator<<(std::ostream &, const TCS::Parameter&);
79
80} // end of namespace TCS
81
82#endif /* defined(L1TOPOINTERFACES_PARAMETER_H) */
parType_t m_value
Definition Parameter.h:64
void setPosition(parType_t position)
Definition Parameter.h:52
void setSelection(parType_t selection)
Definition Parameter.h:50
parType_t value() const
Definition Parameter.h:35
bool m_isExtended
Definition Parameter.h:69
void setIsDefault(bool isDefault)
Definition Parameter.h:53
unsigned int m_pos
Definition Parameter.h:73
bool isExtended() const
Definition Parameter.h:39
void setSel(const std::string &sel)
Definition Parameter.h:59
unsigned int m_selection
Definition Parameter.h:66
parType_t m_defaultValue
Definition Parameter.h:67
std::string m_sel
Definition Parameter.h:74
void setIsExtended(bool isExtended)
Definition Parameter.h:54
void setName(const std::string &name)
Definition Parameter.h:49
parType_t defaultValue() const
Definition Parameter.h:37
Parameter(const std::string &name, TCS::parType_t value)
Definition Parameter.cxx:13
Parameter(const std::string &name, TCS::parType_t value, unsigned int selection)
std::string m_defaultVal
Definition Parameter.h:75
bool isDefault() const
Definition Parameter.h:38
void setValue(parType_t value)
Definition Parameter.h:51
std::string m_name
Definition Parameter.h:63
unsigned int m_position
Definition Parameter.h:65
const std::string & defaultVal() const
Definition Parameter.h:44
unsigned int pos() const
Definition Parameter.h:45
unsigned int selection() const
Definition Parameter.h:34
void setVal(const std::string &val)
Definition Parameter.h:57
const std::string & sel() const
Definition Parameter.h:46
const std::string & name() const
Definition Parameter.h:33
unsigned int position() const
Definition Parameter.h:36
parType_t operator()() const
Definition Parameter.h:40
const std::string & val() const
Definition Parameter.h:43
void setPos(unsigned int pos)
Definition Parameter.h:58
std::string m_val
Definition Parameter.h:72
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)
uint32_t parType_t
Definition Parameter.h:22