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
22 
23 #include <vector>
24 #include <iosfwd>
25 
26 // user include files
28 
29 // forward declarations
30 
31 // class declaration
33 {
34 
35 public:
36 
39  L1GtAlgorithm();
40 
42  L1GtAlgorithm(const std::string& algoNameValue);
43 
45  L1GtAlgorithm(const std::string&, const std::string&);
46 
48  L1GtAlgorithm(const std::string&, const std::string&, const int);
49 
51  virtual ~L1GtAlgorithm();
52 
53 public:
54 
56  inline const std::string algoName() const
57  {
58  return m_algoName;
59  }
60 
61  inline void setAlgoName(const std::string& algoNameValue)
62  {
63  m_algoName = algoNameValue;
64  }
65 
67  inline std::string const & algoAlias() const
68  {
69  return m_algoAlias;
70  }
71 
72  inline void setAlgoAlias(const std::string& algoAliasValue)
73  {
74  m_algoAlias = algoAliasValue;
75  }
76 
78  inline std::string const & algoLogicalExpression() const
79  {
81  }
82 
83  inline void setAlgoLogicalExpresssion(const std::string& logicalExpression)
84  {
85  m_algoLogicalExpression = logicalExpression;
86  }
87 
89  inline const std::vector<L1GtLogicParser::TokenRPN>& algoRpnVector() const {
90  return m_algoRpnVector;
91  }
92 
94  inline int algoBitNumber() const
95  {
96  return m_algoBitNumber;
97  }
98 
99  inline void setAlgoBitNumber(const int algoBitNumberValue)
100  {
101  m_algoBitNumber = algoBitNumberValue;
102  }
103 
105  inline const int algoChipNumber() const
106  {
107  return m_algoChipNumber;
108  }
109 
110  inline void setAlgoChipNumber(const int algoChipNumberValue)
111  {
112  m_algoChipNumber = algoChipNumberValue;
113  }
114 
115 
116 public:
117 
119  const int algoChipNumber(const int numberConditionChips,
120  const int pinsOnConditionChip,
121  const std::vector<int>& orderConditionChip) const;
122 
124  const int algoOutputPin(const int numberConditionChips,
125  const int pinsOnConditionChip,
126  const std::vector<int>& orderConditionChip) const;
127 
129  virtual void print(std::ostream& myCout) const;
130 
132  friend std::ostream& operator<<(std::ostream&, const L1GtAlgorithm&);
133 
134 
135 private:
136 
139 
142 
145 
147  std::vector<L1GtLogicParser::TokenRPN> m_algoRpnVector;
148 
153 
156 
157 
159 };
160 
161 #endif /*CondFormats_L1TObjects_L1GtAlgorithm_h*/
std::string m_algoLogicalExpression
algorithm logical expression
void setAlgoAlias(const std::string &algoAliasValue)
Definition: L1GtAlgorithm.h:72
virtual void print(std::ostream &myCout) const
print condition
void setAlgoBitNumber(const int algoBitNumberValue)
Definition: L1GtAlgorithm.h:99
const std::string algoName() const
get / set algorithm name
Definition: L1GtAlgorithm.h:56
virtual ~L1GtAlgorithm()
destructor
std::string const & algoAlias() const
get / set algorithm alias
Definition: L1GtAlgorithm.h:67
void setAlgoChipNumber(const int algoChipNumberValue)
void setAlgoLogicalExpresssion(const std::string &logicalExpression)
Definition: L1GtAlgorithm.h:83
const std::vector< L1GtLogicParser::TokenRPN > & algoRpnVector() const
return the RPN vector
Definition: L1GtAlgorithm.h:89
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:78
int algoBitNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:94
std::vector< L1GtLogicParser::TokenRPN > m_algoRpnVector
algorithm RPN vector
#define COND_SERIALIZABLE
Definition: Serializable.h:30
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:61
int m_algoChipNumber
chip number (redundant with bit number)