CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMap.h

Go to the documentation of this file.
00001 #ifndef L1GlobalTrigger_L1GlobalTriggerObjectMap_h
00002 #define L1GlobalTrigger_L1GlobalTriggerObjectMap_h
00003 
00020 // system include files
00021 #include <string>
00022 #include <vector>
00023 
00024 #include <iosfwd>
00025 
00026 // user include files
00027 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h"
00028 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00029 
00030 #include "DataFormats/L1GlobalTrigger/interface/L1GtLogicParser.h"
00031 
00032 // forward declarations
00033 
00034 // class declaration
00035 class L1GlobalTriggerObjectMap
00036 {
00037 
00038 public:
00039 
00041   L1GlobalTriggerObjectMap(){}
00042 
00044   ~L1GlobalTriggerObjectMap(){}
00045 
00046 public:
00047 
00049     inline const std::string & algoName() const
00050     {
00051         return m_algoName;
00052     }
00053 
00054     void setAlgoName(const std::string& algoNameValue) {
00055         m_algoName = algoNameValue;
00056     }
00057 
00059     inline int algoBitNumber() const
00060     {
00061         return m_algoBitNumber;
00062     }
00063 
00064     void setAlgoBitNumber(int algoBitNumberValue)
00065     {
00066         m_algoBitNumber = algoBitNumberValue;
00067     }
00068 
00071     inline bool algoGtlResult() const {
00072         return m_algoGtlResult;
00073     }
00074 
00075     void setAlgoGtlResult(bool algoGtlResultValue) {
00076         m_algoGtlResult = algoGtlResultValue;
00077     }
00078 
00081     inline const std::vector<CombinationsInCond>& combinationVector() const
00082     {
00083         return m_combinationVector;
00084     }
00085 
00086     void setCombinationVector(const std::vector<CombinationsInCond>& combinationVectorValue) {
00087         m_combinationVector = combinationVectorValue;
00088     }
00089     void swapCombinationVector(std::vector<CombinationsInCond>& combinationVectorValue) {
00090       m_combinationVector.swap(combinationVectorValue);
00091     }
00092 
00095     inline const std::vector<L1GtLogicParser::OperandToken>& operandTokenVector() const {
00096         return m_operandTokenVector;
00097     }
00098     
00099     void setOperandTokenVector(const std::vector<L1GtLogicParser::OperandToken>& operandTokenVectorValue) {
00100         m_operandTokenVector = operandTokenVectorValue;
00101     }
00102     void swapOperandTokenVector(std::vector<L1GtLogicParser::OperandToken>& operandTokenVectorValue) {
00103       m_operandTokenVector.swap(operandTokenVectorValue);
00104     }
00105     
00106 public:
00107 
00109     const CombinationsInCond* getCombinationsInCond(const std::string& condNameVal) const;
00110 
00112     const CombinationsInCond* getCombinationsInCond(const int condNumberVal) const;
00113 
00115     const bool getConditionResult(const std::string& condNameVal) const;
00116 
00117 public:
00118 
00120     void reset();
00121     
00123     void print(std::ostream& myCout) const;
00124     
00125 private:
00126 
00127     // name of the algorithm
00128     std::string m_algoName;
00129 
00130     // bit number for algorithm
00131     int m_algoBitNumber;
00132 
00133     // GTL result of the algorithm
00134     bool m_algoGtlResult;
00135 
00138     std::vector<L1GtLogicParser::OperandToken> m_operandTokenVector;
00139     
00140     // vector of combinations for all conditions in an algorithm
00141     std::vector<CombinationsInCond> m_combinationVector;
00142 
00143 };
00144 
00145 #endif /* L1GlobalTrigger_L1GlobalTriggerObjectMap_h */