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 
64  inline void setAlgoLogicalExpresssion(const std::string& logicalExpression) {
65  m_algoLogicalExpression = logicalExpression;
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*/
L1GtAlgorithm::algoLogicalExpression
std::string const & algoLogicalExpression() const
get / set the logical expression for the algorithm
Definition: L1GtAlgorithm.h:62
L1GtAlgorithm::m_algoBitNumber
int m_algoBitNumber
Definition: L1GtAlgorithm.h:114
L1GtAlgorithm::setAlgoAlias
void setAlgoAlias(const std::string &algoAliasValue)
Definition: L1GtAlgorithm.h:59
L1GtAlgorithm::setAlgoLogicalExpresssion
void setAlgoLogicalExpresssion(const std::string &logicalExpression)
Definition: L1GtAlgorithm.h:64
L1GtAlgorithm::m_algoRpnVector
std::vector< L1GtLogicParser::TokenRPN > m_algoRpnVector
algorithm RPN vector
Definition: L1GtAlgorithm.h:109
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition: Serializable.h:39
L1GtAlgorithm::~L1GtAlgorithm
virtual ~L1GtAlgorithm()
destructor
Definition: L1GtAlgorithm.cc:73
L1GtAlgorithm::m_algoChipNumber
int m_algoChipNumber
chip number (redundant with bit number)
Definition: L1GtAlgorithm.h:117
L1GtAlgorithm::algoName
const std::string algoName() const
get / set algorithm name
Definition: L1GtAlgorithm.h:52
L1GtAlgorithm::m_algoAlias
std::string m_algoAlias
algorithm alias
Definition: L1GtAlgorithm.h:103
L1GtAlgorithm::algoBitNumber
int algoBitNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:72
L1GtAlgorithm::algoChipNumber
const int algoChipNumber() const
get / set algorithm bit number
Definition: L1GtAlgorithm.h:77
L1GtAlgorithm::operator<<
friend std::ostream & operator<<(std::ostream &, const L1GtAlgorithm &)
output stream operator
Definition: L1GtAlgorithm.cc:147
L1GtAlgorithm::algoOutputPin
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
Definition: L1GtAlgorithm.cc:95
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1GtAlgorithm::L1GtAlgorithm
L1GtAlgorithm()
Definition: L1GtAlgorithm.cc:30
L1GtAlgorithm
Definition: L1GtAlgorithm.h:32
L1GtAlgorithm::algoRpnVector
const std::vector< L1GtLogicParser::TokenRPN > & algoRpnVector() const
return the RPN vector
Definition: L1GtAlgorithm.h:69
L1GtAlgorithm::m_algoLogicalExpression
std::string m_algoLogicalExpression
algorithm logical expression
Definition: L1GtAlgorithm.h:106
Serializable.h
L1GtAlgorithm::print
virtual void print(std::ostream &myCout) const
print condition
Definition: L1GtAlgorithm.cc:106
L1GtLogicParser.h
L1GtAlgorithm::setAlgoName
void setAlgoName(const std::string &algoNameValue)
Definition: L1GtAlgorithm.h:54
L1GtAlgorithm::setAlgoChipNumber
void setAlgoChipNumber(const int algoChipNumberValue)
Definition: L1GtAlgorithm.h:79
L1GtAlgorithm::m_algoName
std::string m_algoName
algorithm name
Definition: L1GtAlgorithm.h:100
L1GtAlgorithm::setAlgoBitNumber
void setAlgoBitNumber(const int algoBitNumberValue)
Definition: L1GtAlgorithm.h:74
L1GtAlgorithm::algoAlias
std::string const & algoAlias() const
get / set algorithm alias
Definition: L1GtAlgorithm.h:57