CMS 3D CMS Logo

L1GtTriggerMenu.h

Go to the documentation of this file.
00001 #ifndef CondFormats_L1TObjects_L1GtTriggerMenu_h
00002 #define CondFormats_L1TObjects_L1GtTriggerMenu_h
00003 
00020 // system include files
00021 #include <string>
00022 #include <vector>
00023 #include <map>
00024 
00025 #include <ostream>
00026 
00027 // user include files
00028 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenuFwd.h"
00029 
00030 #include "CondFormats/L1TObjects/interface/L1GtMuonTemplate.h"
00031 #include "CondFormats/L1TObjects/interface/L1GtCaloTemplate.h"
00032 #include "CondFormats/L1TObjects/interface/L1GtEnergySumTemplate.h"
00033 #include "CondFormats/L1TObjects/interface/L1GtJetCountsTemplate.h"
00034 #include "CondFormats/L1TObjects/interface/L1GtCastorTemplate.h"
00035 #include "CondFormats/L1TObjects/interface/L1GtHfBitCountsTemplate.h"
00036 #include "CondFormats/L1TObjects/interface/L1GtHfRingEtSumsTemplate.h"
00037 #include "CondFormats/L1TObjects/interface/L1GtCorrelationTemplate.h"
00038 
00039 // forward declarations
00040 class L1GtCondition;
00041 class L1GtAlgorithm;
00042 
00043 // class declaration
00044 class L1GtTriggerMenu
00045 {
00046 
00047 public:
00048 
00049     // constructor
00050     L1GtTriggerMenu();
00051 
00052     L1GtTriggerMenu(const std::string&, const unsigned int numberConditionChips,
00053             const std::vector<std::vector<L1GtMuonTemplate> >&,
00054             const std::vector<std::vector<L1GtCaloTemplate> >&,
00055             const std::vector<std::vector<L1GtEnergySumTemplate> >&,
00056             const std::vector<std::vector<L1GtJetCountsTemplate> >&,
00057             const std::vector<std::vector<L1GtCastorTemplate> >&,
00058             const std::vector<std::vector<L1GtHfBitCountsTemplate> >&,
00059             const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&,
00060             const std::vector<std::vector<L1GtCorrelationTemplate> >&,
00061             const std::vector<std::vector<L1GtMuonTemplate> >&,
00062             const std::vector<std::vector<L1GtCaloTemplate> >&,
00063             const std::vector<std::vector<L1GtEnergySumTemplate> >&
00064     );
00065 
00066     // copy constructor
00067     L1GtTriggerMenu(const L1GtTriggerMenu&);
00068 
00069     // destructor
00070     virtual ~L1GtTriggerMenu();
00071 
00072     // assignment operator
00073     L1GtTriggerMenu& operator=(const L1GtTriggerMenu&);
00074 
00075 public:
00076 
00078     inline const std::vector<ConditionMap>& gtConditionMap() const {
00079         return m_conditionMap;
00080     }
00081 
00082     void setGtConditionMap(const std::vector<ConditionMap>&);
00083     void buildGtConditionMap();
00084 
00086     inline const std::string& gtTriggerMenuName() const {
00087         return m_triggerMenuName;
00088     }
00089 
00090     void setGtTriggerMenuName(const std::string&);
00091 
00093     inline const std::vector<std::vector<L1GtMuonTemplate> >& vecMuonTemplate() const {
00094         return m_vecMuonTemplate;
00095     }
00096 
00097     void setVecMuonTemplate(const std::vector<std::vector<L1GtMuonTemplate> >&);
00098 
00099     //
00100     inline const std::vector<std::vector<L1GtCaloTemplate> >& vecCaloTemplate() const {
00101         return m_vecCaloTemplate;
00102     }
00103 
00104     void setVecCaloTemplate(const std::vector<std::vector<L1GtCaloTemplate> >&);
00105 
00106     //
00107     inline const std::vector<std::vector<L1GtEnergySumTemplate> >&
00108         vecEnergySumTemplate() const {
00109 
00110         return m_vecEnergySumTemplate;
00111     }
00112 
00113     void setVecEnergySumTemplate(
00114             const std::vector<std::vector<L1GtEnergySumTemplate> >&);
00115 
00116     //
00117     inline const std::vector<std::vector<L1GtJetCountsTemplate> >&
00118         vecJetCountsTemplate() const {
00119 
00120         return m_vecJetCountsTemplate;
00121     }
00122 
00123     void setVecJetCountsTemplate(
00124             const std::vector<std::vector<L1GtJetCountsTemplate> >&);
00125 
00126     //
00127     inline const std::vector<std::vector<L1GtCastorTemplate> >&
00128         vecCastorTemplate() const {
00129 
00130         return m_vecCastorTemplate;
00131     }
00132 
00133     void setVecCastorTemplate(
00134             const std::vector<std::vector<L1GtCastorTemplate> >&);
00135 
00136     //
00137     inline const std::vector<std::vector<L1GtHfBitCountsTemplate> >&
00138         vecHfBitCountsTemplate() const {
00139 
00140         return m_vecHfBitCountsTemplate;
00141     }
00142 
00143     void setVecHfBitCountsTemplate(
00144             const std::vector<std::vector<L1GtHfBitCountsTemplate> >&);
00145 
00146     //
00147     inline const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&
00148         vecHfRingEtSumsTemplate() const {
00149 
00150         return m_vecHfRingEtSumsTemplate;
00151     }
00152 
00153     void setVecHfRingEtSumsTemplate(
00154             const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&);
00155 
00156     //
00157     //
00158     inline const std::vector<std::vector<L1GtCorrelationTemplate> >&
00159         vecCorrelationTemplate() const {
00160 
00161         return m_vecCorrelationTemplate;
00162     }
00163 
00164     void setVecCorrelationTemplate(
00165             const std::vector<std::vector<L1GtCorrelationTemplate> >&);
00166 
00167     //
00168     inline const std::vector<std::vector<L1GtMuonTemplate> >& corMuonTemplate() const {
00169         return m_corMuonTemplate;
00170     }
00171 
00172     void setCorMuonTemplate(const std::vector<std::vector<L1GtMuonTemplate> >&);
00173 
00174     //
00175     inline const std::vector<std::vector<L1GtCaloTemplate> >& corCaloTemplate() const {
00176         return m_corCaloTemplate;
00177     }
00178 
00179     void setCorCaloTemplate(const std::vector<std::vector<L1GtCaloTemplate> >&);
00180 
00181     // get / set the vectors containing the conditions for correlation templates
00182     //
00183     inline const std::vector<std::vector<L1GtEnergySumTemplate> >&
00184         corEnergySumTemplate() const {
00185 
00186         return m_corEnergySumTemplate;
00187     }
00188 
00189     void setCorEnergySumTemplate(
00190             const std::vector<std::vector<L1GtEnergySumTemplate> >&);
00191 
00192 
00194     inline const AlgorithmMap& gtAlgorithmMap() const {
00195         return m_algorithmMap;
00196     }
00197 
00198     void setGtAlgorithmMap(const AlgorithmMap&);
00199 
00201     inline const AlgorithmMap& gtTechnicalTriggerMap() const {
00202         return m_technicalTriggerMap;
00203     }
00204 
00205     void setGtTechnicalTriggerMap(const AlgorithmMap&);
00206 
00209     void print(std::ostream&, int&) const;
00210 
00211 public:
00212 
00215     const bool gtAlgorithmResult(const std::string& algName,
00216             const std::vector<bool>& decWord) const;
00217 
00218 private:
00219 
00221     mutable std::vector<ConditionMap> m_conditionMap;
00222 
00223 private:
00224 
00226     std::string m_triggerMenuName;
00227 
00230     std::vector<std::vector<L1GtMuonTemplate> > m_vecMuonTemplate;
00231     std::vector<std::vector<L1GtCaloTemplate> > m_vecCaloTemplate;
00232     std::vector<std::vector<L1GtEnergySumTemplate> > m_vecEnergySumTemplate;
00233     std::vector<std::vector<L1GtJetCountsTemplate> > m_vecJetCountsTemplate;
00234     std::vector<std::vector<L1GtCastorTemplate> > m_vecCastorTemplate;
00235     std::vector<std::vector<L1GtHfBitCountsTemplate> > m_vecHfBitCountsTemplate;
00236     std::vector<std::vector<L1GtHfRingEtSumsTemplate> > m_vecHfRingEtSumsTemplate;
00237 
00238     std::vector<std::vector<L1GtCorrelationTemplate> > m_vecCorrelationTemplate;
00239     std::vector<std::vector<L1GtMuonTemplate> > m_corMuonTemplate;
00240     std::vector<std::vector<L1GtCaloTemplate> > m_corCaloTemplate;
00241     std::vector<std::vector<L1GtEnergySumTemplate> > m_corEnergySumTemplate;
00242 
00244     AlgorithmMap m_algorithmMap;
00245 
00247     AlgorithmMap m_technicalTriggerMap;
00248 
00249 
00250 };
00251 
00252 #endif /*CondFormats_L1TObjects_L1GtTriggerMenu_h*/

Generated on Tue Jun 9 17:26:37 2009 for CMSSW by  doxygen 1.5.4