CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
L1GctMet Class Reference

Stores Level-1 missing Et in (Ex, Ey) form, allowing it to be retrieved as (magnitude, angle) More...

#include <L1GctMet.h>

Classes

struct  etmiss_internal
 
struct  etmiss_vec
 

Public Types

typedef
L1GctWheelEnergyFpga::etComponentType 
etComponentType
 
typedef L1GctUnsignedInt
< L1GctEtMiss::kEtMissPhiNBits
etMissPhiType
 
typedef L1GctUnsignedInt
< L1GctEtMiss::kEtMissNBits
etMissType
 
enum  metAlgoType { cordicTranslate, useHtMissLut, oldGct, floatingPoint }
 

Public Member Functions

const double componentLsb () const
 
const L1CaloEtScaleetScale () const
 
metAlgoType getAlgoType () const
 
unsigned getBitShift () const
 
etComponentType getExComponent () const
 
etComponentType getEyComponent () const
 
const L1GctHtMissLutgetHtMissLut () const
 
 L1GctMet (const unsigned ex=0, const unsigned ey=0, const metAlgoType algo=cordicTranslate)
 
 L1GctMet (const etComponentType &ex, const etComponentType &ey, const metAlgoType algo=cordicTranslate)
 
etmiss_vec metVector () const
 
void setAlgoType (const metAlgoType algo)
 
void setBitShift (const unsigned nbits)
 
void setComponents (const unsigned ex, const unsigned ey)
 
void setComponents (const etComponentType &ex, const etComponentType &ey)
 
void setEtComponentLsb (const double lsb)
 
void setEtScale (const L1CaloEtScale *const fn)
 
void setExComponent (const unsigned ex)
 
void setExComponent (const etComponentType &ex)
 
void setEyComponent (const unsigned ey)
 
void setEyComponent (const etComponentType &ey)
 
 ~L1GctMet ()
 

Private Types

enum  etComponentShift { kExOrEyMissComponentShift =4 }
 

Private Member Functions

int cordicShiftAndRoundBits (const int e, const unsigned nBits) const
 
etmiss_internal cordicTranslateAlgo (const int ex, const int ey, const bool of) const
 
etmiss_internal floatingPointAlgo (const int ex, const int ey) const
 
const bool inputOverFlow () const
 
etmiss_internal oldGctAlgo (const int ex, const int ey) const
 
etmiss_internal useHtMissLutAlgo (const int ex, const int ey, const bool of) const
 

Private Attributes

metAlgoType m_algoType
 
unsigned short m_bitShift
 
etComponentType m_exComponent
 
etComponentType m_eyComponent
 
L1GctHtMissLutm_htMissLut
 

Detailed Description

Stores Level-1 missing Et in (Ex, Ey) form, allowing it to be retrieved as (magnitude, angle)

Author
Greg Heath
Date
April 2008

Allows the implementation of alternative algorithms

Definition at line 20 of file L1GctMet.h.

Member Typedef Documentation

Definition at line 28 of file L1GctMet.h.

Definition at line 27 of file L1GctMet.h.

Definition at line 26 of file L1GctMet.h.

Member Enumeration Documentation

Enumerator
kExOrEyMissComponentShift 

Definition at line 72 of file L1GctMet.h.

Enumerator
cordicTranslate 
useHtMissLut 
oldGct 
floatingPoint 

Definition at line 24 of file L1GctMet.h.

Constructor & Destructor Documentation

L1GctMet::L1GctMet ( const unsigned  ex = 0,
const unsigned  ey = 0,
const metAlgoType  algo = cordicTranslate 
)

Definition at line 7 of file L1GctMet.cc.

L1GctMet::L1GctMet ( const etComponentType ex,
const etComponentType ey,
const metAlgoType  algo = cordicTranslate 
)

Definition at line 15 of file L1GctMet.cc.

L1GctMet::~L1GctMet ( )

Definition at line 23 of file L1GctMet.cc.

Member Function Documentation

const double L1GctMet::componentLsb ( ) const

Definition at line 333 of file L1GctMet.cc.

int L1GctMet::cordicShiftAndRoundBits ( const int  e,
const unsigned  nBits 
) const
private

Definition at line 161 of file L1GctMet.cc.

L1GctMet::etmiss_internal L1GctMet::cordicTranslateAlgo ( const int  ex,
const int  ey,
const bool  of 
) const
private

Definition at line 79 of file L1GctMet.cc.

const L1CaloEtScale * L1GctMet::etScale ( ) const

Definition at line 328 of file L1GctMet.cc.

L1GctMet::etmiss_internal L1GctMet::floatingPointAlgo ( const int  ex,
const int  ey 
) const
private

Definition at line 297 of file L1GctMet.cc.

metAlgoType L1GctMet::getAlgoType ( ) const
inline

Definition at line 54 of file L1GctMet.h.

References m_algoType.

54 { return m_algoType; }
metAlgoType m_algoType
Definition: L1GctMet.h:86
unsigned L1GctMet::getBitShift ( ) const
inline

Definition at line 59 of file L1GctMet.h.

References m_bitShift.

59 { return m_bitShift; }
unsigned short m_bitShift
Definition: L1GctMet.h:87
etComponentType L1GctMet::getExComponent ( ) const
inline

Definition at line 49 of file L1GctMet.h.

References m_exComponent.

49 { return m_exComponent; }
etComponentType m_exComponent
Definition: L1GctMet.h:84
etComponentType L1GctMet::getEyComponent ( ) const
inline

Definition at line 50 of file L1GctMet.h.

References m_eyComponent.

50 { return m_eyComponent; }
etComponentType m_eyComponent
Definition: L1GctMet.h:85
const L1GctHtMissLut* L1GctMet::getHtMissLut ( ) const
inline

Definition at line 62 of file L1GctMet.h.

References m_htMissLut.

62 { return m_htMissLut; }
L1GctHtMissLut * m_htMissLut
Definition: L1GctMet.h:89
const bool L1GctMet::inputOverFlow ( ) const
private

Private method to check for an overflow condition on the input components Allows the check to depend on the algorithm type

Definition at line 340 of file L1GctMet.cc.

L1GctMet::etmiss_vec L1GctMet::metVector ( ) const

Definition at line 27 of file L1GctMet.cc.

L1GctMet::etmiss_internal L1GctMet::oldGctAlgo ( const int  ex,
const int  ey 
) const
private

Definition at line 219 of file L1GctMet.cc.

void L1GctMet::setAlgoType ( const metAlgoType  algo)
inline
void L1GctMet::setBitShift ( const unsigned  nbits)
inline

Definition at line 58 of file L1GctMet.h.

References m_bitShift.

58 { m_bitShift = nbits; }
unsigned short m_bitShift
Definition: L1GctMet.h:87
void L1GctMet::setComponents ( const unsigned  ex,
const unsigned  ey 
)
inline

Definition at line 43 of file L1GctMet.h.

References setExComponent(), and setEyComponent().

43 { setExComponent(ex); setEyComponent(ey); }
void setEyComponent(const unsigned ey)
Definition: L1GctMet.cc:71
void setExComponent(const unsigned ex)
Definition: L1GctMet.cc:66
void L1GctMet::setComponents ( const etComponentType ex,
const etComponentType ey 
)
inline

Definition at line 44 of file L1GctMet.h.

References setExComponent(), and setEyComponent().

44 { setExComponent(ex); setEyComponent(ey); }
void setEyComponent(const unsigned ey)
Definition: L1GctMet.cc:71
void setExComponent(const unsigned ex)
Definition: L1GctMet.cc:66
void L1GctMet::setEtComponentLsb ( const double  lsb)

Definition at line 323 of file L1GctMet.cc.

void L1GctMet::setEtScale ( const L1CaloEtScale *const  fn)

Definition at line 318 of file L1GctMet.cc.

void L1GctMet::setExComponent ( const unsigned  ex)

Definition at line 66 of file L1GctMet.cc.

Referenced by setComponents().

void L1GctMet::setExComponent ( const etComponentType ex)
inline

Definition at line 47 of file L1GctMet.h.

References m_exComponent.

47 { m_exComponent = ex; }
etComponentType m_exComponent
Definition: L1GctMet.h:84
void L1GctMet::setEyComponent ( const unsigned  ey)

Definition at line 71 of file L1GctMet.cc.

Referenced by setComponents().

void L1GctMet::setEyComponent ( const etComponentType ey)
inline

Definition at line 48 of file L1GctMet.h.

References m_eyComponent.

48 { m_eyComponent = ey; }
etComponentType m_eyComponent
Definition: L1GctMet.h:85
L1GctMet::etmiss_internal L1GctMet::useHtMissLutAlgo ( const int  ex,
const int  ey,
const bool  of 
) const
private

Definition at line 174 of file L1GctMet.cc.

Member Data Documentation

metAlgoType L1GctMet::m_algoType
private

Definition at line 86 of file L1GctMet.h.

Referenced by getAlgoType(), and setAlgoType().

unsigned short L1GctMet::m_bitShift
private

Definition at line 87 of file L1GctMet.h.

Referenced by getBitShift(), and setBitShift().

etComponentType L1GctMet::m_exComponent
private

Definition at line 84 of file L1GctMet.h.

Referenced by getExComponent(), and setExComponent().

etComponentType L1GctMet::m_eyComponent
private

Definition at line 85 of file L1GctMet.h.

Referenced by getEyComponent(), and setEyComponent().

L1GctHtMissLut* L1GctMet::m_htMissLut
private

Definition at line 89 of file L1GctMet.h.

Referenced by getHtMissLut().