CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtAlgorithm.h
Go to the documentation of this file.
1 #ifndef CondFormats_L1TObjects_L1GtAlgorithm_h
2 #define CondFormats_L1TObjects_L1GtAlgorithm_h
3 
20 // system include files
21 #include <vector>
22 #include <iosfwd>
23 
24 // user include files
26 
27 // forward declarations
28 
29 // class declaration
31 {
32 
33 public:
34 
37  L1GtAlgorithm();
38 
40  L1GtAlgorithm(const std::string& algoNameValue);
41 
43  L1GtAlgorithm(const std::string&, const std::string&);
44 
46  L1GtAlgorithm(const std::string&, const std::string&, const int);
47 
49  virtual ~L1GtAlgorithm();
50 
51 public:
52 
54  inline const std::string algoName() const
55  {
56  return m_algoName;
57  }
58 
59  inline void setAlgoName(const std::string& algoNameValue)
60  {
61  m_algoName = algoNameValue;
62  }
63 
65  inline std::string const & algoAlias() const
66  {
67  return m_algoAlias;
68  }
69 
70  inline void setAlgoAlias(const std::string& algoAliasValue)
71  {
72  m_algoAlias = algoAliasValue;
73  }
74 
76  inline std::string const & algoLogicalExpression() const
77  {
79  }
80 
81  inline void setAlgoLogicalExpresssion(const std::string& logicalExpression)
82  {
83  m_algoLogicalExpression = logicalExpression;
84  }
85 
87  inline const std::vector<L1GtLogicParser::TokenRPN>& algoRpnVector() const {
88  return m_algoRpnVector;
89  }
90 
92  inline int algoBitNumber() const
93  {
94  return m_algoBitNumber;
95  }
96 
97  inline void setAlgoBitNumber(const int algoBitNumberValue)
98  {
99  m_algoBitNumber = algoBitNumberValue;
100  }
101 
103  inline const int algoChipNumber() const
104  {
105  return m_algoChipNumber;
106  }
107 
108  inline void setAlgoChipNumber(const int algoChipNumberValue)
109  {
110  m_algoChipNumber = algoChipNumberValue;
111  }
112 
113 
114 public:
115 
117  const int algoChipNumber(const int numberConditionChips,
118  const int pinsOnConditionChip,
119  const std::vector<int>& orderConditionChip) const;
120 
122  const int algoOutputPin(const int numberConditionChips,
123  const int pinsOnConditionChip,
124  const std::vector<int>& orderConditionChip) const;
125 
127  virtual void print(std::ostream& myCout) const;
128 
130  friend std::ostream& operator<<(std::ostream&, const L1GtAlgorithm&);
131 
132 
133 private:
134 
136  std::string m_algoName;
137 
139  std::string m_algoAlias;
140 
143 
145  std::vector<L1GtLogicParser::TokenRPN> m_algoRpnVector;
146 
151 
154 
155 };
156 
157 #endif /*CondFormats_L1TObjects_L1GtAlgorithm_h*/
std::string m_algoLogicalExpression
algorithm logical expression
void setAlgoAlias(const std::string &algoAliasValue)
Definition: L1GtAlgorithm.h:70
virtual void print(std::ostream &myCout) const
print condition
void setAlgoBitNumber(const int algoBitNumberValue)
Definition: L1GtAlgorithm.h:97
const std::string algoName() const
get / set algorithm name
Definition: L1GtAlgorithm.h:54
virtual ~L1GtAlgorithm()
destructor
std::string const & algoAlias() const
get / set algorithm alias
Definition: L1GtAlgorithm.h:65
void setAlgoChipNumber(const int algoChipNumberValue)
void setAlgoLogicalExpresssion(const std::string &logicalExpression)
Definition: L1GtAlgorithm.h:81
const std::vector< L1GtLogicParser::TokenRPN > & algoRpnVector() const
return the RPN vector
Definition: L1GtAlgorithm.h:87
std::string m_algoAlias
algorithm alias
const int algoOutputPin(const int numberConditionChips, const int pinsOnConditionChip, const std::vector< int > &orderConditionChip) const
get the output pin on the condition chip for the algorithm
std::string const & algoLogicalExpression() const
get / set the logical expression for the algorithm
Definition: L1GtAlgorithm.h:76
int algoBitNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:92
std::vector< L1GtLogicParser::TokenRPN > m_algoRpnVector
algorithm RPN vector
std::string m_algoName
algorithm name
const int algoChipNumber() const
get / set algorithm bit number
friend std::ostream & operator<<(std::ostream &, const L1GtAlgorithm &)
output stream operator
void setAlgoName(const std::string &algoNameValue)
Definition: L1GtAlgorithm.h:59
int m_algoChipNumber
chip number (redundant with bit number)