CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DataFormats/L1Trigger/interface/L1HFRings.h

Go to the documentation of this file.
00001 #ifndef DataFormats_L1Trigger_L1HFRings_h
00002 #define DataFormats_L1Trigger_L1HFRings_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     L1Trigger
00006 // Class  :     L1HFRings
00007 // 
00016 //
00017 // Original Author:  Werner Sun
00018 //         Created:  Sat Mar 14 19:04:20 CET 2009
00019 // $Id: L1HFRings.h,v 1.2 2009/03/22 16:11:30 wsun Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
00026 #include "DataFormats/Common/interface/Ref.h"
00027 
00028 // forward declarations
00029 
00030 namespace l1extra {
00031 
00032 class L1HFRings
00033 {
00034 
00035    public:
00036      enum HFRingLabels { kRing1PosEta, kRing1NegEta, kRing2PosEta, 
00037                          kRing2NegEta, kNumRings } ;
00038 
00039       L1HFRings();
00040 
00041       // Default Refs are null.
00042       L1HFRings( const double* hfEtSums, // array of etSums
00043                  const int* hfBitCounts, // array of bitCounts
00044                  const edm::Ref< L1GctHFRingEtSumsCollection >& aHFEtSumsRef = 
00045                  edm::Ref< L1GctHFRingEtSumsCollection >(),
00046                  const edm::Ref< L1GctHFBitCountsCollection >& aHFBitCountsRef 
00047                  = edm::Ref< L1GctHFBitCountsCollection >(),
00048                  int bx = 0 ) ;
00049 
00050       virtual ~L1HFRings();
00051 
00052       // ---------- const member functions ---------------------
00053       double hfEtSum( HFRingLabels i ) const // in  GeV
00054         { return m_ringEtSums[ i ] ; }
00055       int hfBitCount( HFRingLabels i ) const
00056         { return m_ringBitCounts [ i ] ; }
00057 
00058       const edm::Ref< L1GctHFRingEtSumsCollection >& gctHFEtSumsRef() const
00059         { return m_etSumsRef ; }
00060       const edm::Ref< L1GctHFBitCountsCollection >& gctHFBitCountsRef() const
00061         { return m_bitCountsRef ; }
00062 
00063       const L1GctHFRingEtSums* gctHFEtSums() const
00064         { return m_etSumsRef.get() ; }
00065       const L1GctHFBitCounts* gctHFBitCounts() const
00066         { return m_bitCountsRef.get() ; }
00067 
00068       int bx() const { return m_bx ; }
00069 
00070       // ---------- static member functions --------------------
00071 
00072       // ---------- member functions ---------------------------
00073 
00074    private:
00075       // L1HFRings(const L1HFRings&); // stop default
00076 
00077       // const L1HFRings& operator=(const L1HFRings&); // stop default
00078 
00079       // ---------- member data --------------------------------
00080       double m_ringEtSums[ kNumRings ] ;
00081       int m_ringBitCounts[ kNumRings ] ;
00082 
00083       edm::Ref< L1GctHFRingEtSumsCollection > m_etSumsRef ;
00084       edm::Ref< L1GctHFBitCountsCollection > m_bitCountsRef ;
00085 
00086       int m_bx ;
00087 };
00088 }
00089 
00090 #endif