CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/L1TriggerConfig/DTTPGConfig/interface/DTConfigSectColl.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00012 //
00013 //--------------------------------------------------
00014 #ifndef DT_CONFIG_SECTCOLL_H
00015 #define DT_CONFIG_SECTCOLL_H
00016 
00017 //---------------
00018 // C++ Headers --
00019 //---------------
00020 #include<iostream>
00021 
00022 //----------------------
00023 // Base Class Headers --
00024 //----------------------
00025 
00026 //------------------------------------
00027 // Collaborating Class Declarations --
00028 //------------------------------------
00029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00030 #include "FWCore/Utilities/interface/Exception.h"
00031 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfig.h"
00032 #include "boost/cstdint.hpp"
00033 
00034 //              ---------------------
00035 //              -- Class Interface --
00036 //              ---------------------
00037 
00038 class DTConfigSectColl : public DTConfig {
00039 
00040   public:
00041 
00043   static const int NTSTSC=3, NTSPSC=5;
00044 
00046   static const int NDTSC=4;
00047 
00049   DTConfigSectColl(const edm::ParameterSet& ps);
00050   
00052   DTConfigSectColl();
00053 
00055   ~DTConfigSectColl();
00056 
00058   inline bool debug() const { return m_debug; }
00059 
00061   inline bool  SCGetCarryFlag(int istat) const {
00062     if (istat<1 || istat>4){
00063        throw cms::Exception("DTTPG") << "DTConfigSectColl::SCGetCarryFlag: station number out of range: istat=" << istat << std::endl;
00064     } 
00065     return m_scecf[istat-1];
00066   }
00067 
00069   inline int CoarseSync(int istat) const {
00070     
00071     if (istat<1 || istat>5){
00072        throw cms::Exception("DTTPG") << "DTConfigSectColl::CoarseSync: station number out of range: istat="
00073                 << istat << std::endl;
00074     }
00075     return m_sccsp[istat-1];
00076     
00077   }
00078 
00079   // Set Methods
00081   inline void setDebug(bool debug) { m_debug=debug; }
00082 
00084   void setSCCarryFlag(bool scecf,int istat);
00085 
00087   void setCoarseSync(int sccsp, int istat);
00088 
00090   void print() const ;
00091 
00092   private:
00093 
00095   void setDefaults(const edm::ParameterSet& ps);
00096 
00097   bool m_debug;
00098   bool m_scecf[4];
00099   int m_sccsp[5];
00100 
00101 };
00102 
00103 #endif