CMS 3D CMS Logo

GlobalAlgorithm.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_GtAlgorithm_h
2 #define L1Trigger_L1TGlobal_GtAlgorithm_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:
37 
39  GlobalAlgorithm(const std::string& algoNameValue);
40 
42  GlobalAlgorithm(const std::string&, const std::string&);
43 
45  GlobalAlgorithm(const std::string&, const std::string&, const int);
46 
48  virtual ~GlobalAlgorithm();
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<GlobalLogicParser::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 GlobalAlgorithm&);
97 
98 private:
101 
104 
107 
109  std::vector<GlobalLogicParser::TokenRPN> m_algoRpnVector;
110 
115 
118 
120 };
121 
122 #endif /*L1Trigger_L1TGlobal_GtAlgorithm_h*/
std::string m_algoAlias
algorithm alias
std::string const & algoLogicalExpression() const
get / set the logical expression for the algorithm
virtual ~GlobalAlgorithm()
destructor
void setAlgoAlias(const std::string &algoAliasValue)
int m_algoChipNumber
chip number (redundant with bit number)
int algoBitNumber() const
get / set algorithm bit number
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 setAlgoBitNumber(const int algoBitNumberValue)
void setAlgoName(const std::string &algoNameValue)
const int algoChipNumber() const
get / set algorithm bit number
virtual void print(std::ostream &myCout) const
print condition
std::string m_algoName
algorithm name
std::vector< GlobalLogicParser::TokenRPN > m_algoRpnVector
algorithm RPN vector
void setAlgoLogicalExpresssion(const std::string &logicalExpression)
#define COND_SERIALIZABLE
Definition: Serializable.h:39
void setAlgoChipNumber(const int algoChipNumberValue)
const std::vector< GlobalLogicParser::TokenRPN > & algoRpnVector() const
return the RPN vector
std::string const & algoAlias() const
get / set algorithm alias
friend std::ostream & operator<<(std::ostream &, const GlobalAlgorithm &)
output stream operator
const std::string algoName() const
get / set algorithm name