59 const int algoBitNumberValue)
81 const int pinsOnConditionChip,
82 const std::vector<int>& orderConditionChip)
const {
84 for (
int iChip = 0; iChip < numberConditionChips; ++iChip) {
85 if (posChip == orderConditionChip[iChip]) {
96 const int pinsOnConditionChip,
97 const std::vector<int>& orderConditionChip)
const {
98 int iChip =
algoChipNumber(numberConditionChips, pinsOnConditionChip, orderConditionChip);
100 int outputPin =
m_algoBitNumber - (orderConditionChip[iChip] - 1) * pinsOnConditionChip + 1;
109 myCout <<
" Algorithm name: " <<
m_algoName << std::endl;
110 myCout <<
" Algorithm alias: " <<
m_algoAlias << std::endl;
113 if (m_algoBitNumber < 0) {
114 myCout <<
" - not properly initialized! " << std::endl;
120 if (m_algoChipNumber < 0) {
121 myCout <<
" - not properly initialized! " << std::endl;
130 myCout <<
" RPN vector size: " << rpnVectorSize;
132 if (rpnVectorSize == 0) {
133 myCout <<
" - not properly initialized! " << std::endl;
137 for (
int i = 0;
i < rpnVectorSize; ++
i) {
std::string m_algoLogicalExpression
algorithm logical expression
virtual void print(std::ostream &myCout) const
print condition
RpnVector rpnVector() const
return the RPN vector
virtual ~L1GtAlgorithm()
destructor
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::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
int m_algoChipNumber
chip number (redundant with bit number)