CMS 3D CMS Logo

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 public:
36  L1GtAlgorithm();
37 
39  L1GtAlgorithm(const std::string& algoNameValue);
40 
42  L1GtAlgorithm(const std::string&, const std::string&);
43 
45  L1GtAlgorithm(const std::string&, const std::string&, const int);
46 
48  virtual ~L1GtAlgorithm();
49 
50 public:
52  inline const std::string algoName() const { return m_algoName; }
53 
54  inline void setAlgoName(const std::string& algoNameValue) { m_algoName = algoNameValue; }
55 
57  inline std::string const& algoAlias() const { return m_algoAlias; }
58 
59  inline void setAlgoAlias(const std::string& algoAliasValue) { m_algoAlias = algoAliasValue; }
60 
62  inline std::string const& algoLogicalExpression() const { return m_algoLogicalExpression; }
63 
66  }
67 
69  inline const std::vector<L1GtLogicParser::TokenRPN>& algoRpnVector() const { return m_algoRpnVector; }
70 
72  inline int algoBitNumber() const { return m_algoBitNumber; }
73 
74  inline void setAlgoBitNumber(const int algoBitNumberValue) { m_algoBitNumber = algoBitNumberValue; }
75 
77  inline const int algoChipNumber() const { return m_algoChipNumber; }
78 
79  inline void setAlgoChipNumber(const int algoChipNumberValue) { m_algoChipNumber = algoChipNumberValue; }
80 
81 public:
83  const int algoChipNumber(const int numberConditionChips,
84  const int pinsOnConditionChip,
85  const std::vector<int>& orderConditionChip) const;
86 
88  const int algoOutputPin(const int numberConditionChips,
89  const int pinsOnConditionChip,
90  const std::vector<int>& orderConditionChip) const;
91 
93  virtual void print(std::ostream& myCout) const;
94 
96  friend std::ostream& operator<<(std::ostream&, const L1GtAlgorithm&);
97 
98 private:
101 
104 
107 
109  std::vector<L1GtLogicParser::TokenRPN> m_algoRpnVector;
110 
115 
118 
120 };
121 
122 #endif /*CondFormats_L1TObjects_L1GtAlgorithm_h*/
std::string m_algoLogicalExpression
algorithm logical expression
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
void setAlgoAlias(const std::string &algoAliasValue)
Definition: L1GtAlgorithm.h:59
const int algoChipNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:77
void setAlgoBitNumber(const int algoBitNumberValue)
Definition: L1GtAlgorithm.h:74
virtual ~L1GtAlgorithm()
destructor
void setAlgoChipNumber(const int algoChipNumberValue)
Definition: L1GtAlgorithm.h:79
void setAlgoLogicalExpresssion(const std::string &logicalExpression)
Definition: L1GtAlgorithm.h:64
const std::vector< L1GtLogicParser::TokenRPN > & algoRpnVector() const
return the RPN vector
Definition: L1GtAlgorithm.h:69
std::string m_algoAlias
algorithm alias
const std::string algoName() const
get / set algorithm name
Definition: L1GtAlgorithm.h:52
std::vector< L1GtLogicParser::TokenRPN > m_algoRpnVector
algorithm RPN vector
#define COND_SERIALIZABLE
Definition: Serializable.h:39
std::string m_algoName
algorithm name
std::string const & algoAlias() const
get / set algorithm alias
Definition: L1GtAlgorithm.h:57
int algoBitNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:72
friend std::ostream & operator<<(std::ostream &, const L1GtAlgorithm &)
output stream operator
void setAlgoName(const std::string &algoNameValue)
Definition: L1GtAlgorithm.h:54
std::string const & algoLogicalExpression() const
get / set the logical expression for the algorithm
Definition: L1GtAlgorithm.h:62
virtual void print(std::ostream &myCout) const
print condition
int m_algoChipNumber
chip number (redundant with bit number)