CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Attributes
HOTriggerPrimitiveDigi Class Reference

#include <HOTriggerPrimitiveDigi.h>

Public Types

typedef HcalDetId key_type
 For the sorted collection. More...
 

Public Member Functions

int bits () const
 get the single-bit data More...
 
bool data (int whichbit=HO_TP_SAMPLES_MAX) const
 
 HOTriggerPrimitiveDigi ()
 
 HOTriggerPrimitiveDigi (uint32_t data)
 
 HOTriggerPrimitiveDigi (int ieta, int iphi, int nsamples, int whichSampleTriggered, int databits)
 
const HcalDetId id () const
 
int ieta () const
 get the signed ieta value More...
 
int ieta_abs () const
 get the absolute value of ieta More...
 
int ieta_sign () const
 get the sign of ieta (int: +/- 1) More...
 
int iphi () const
 get the iphi value More...
 
int nsamples () const
 get the number of samples used to compute the TP More...
 
uint32_t operator() ()
 for streaming More...
 
uint32_t raw () const
 get the raw (packed) Triger Primitive More...
 
int raw_ieta () const
 get the raw ieta value More...
 
int whichSampleTriggered () const
 get the number of the triggering sample More...
 

Static Public Attributes

static const int HO_TP_SAMPLES_MAX = 10
 

Private Attributes

uint32_t theHO_TP
 

Detailed Description

Definition at line 15 of file HOTriggerPrimitiveDigi.h.

Member Typedef Documentation

For the sorted collection.

Definition at line 17 of file HOTriggerPrimitiveDigi.h.

Constructor & Destructor Documentation

HOTriggerPrimitiveDigi::HOTriggerPrimitiveDigi ( )
inline

Definition at line 19 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by HOTriggerPrimitiveDigi().

HOTriggerPrimitiveDigi::HOTriggerPrimitiveDigi ( uint32_t  data)
inline

Definition at line 20 of file HOTriggerPrimitiveDigi.h.

References data(), HOTriggerPrimitiveDigi(), ieta(), iphi(), nsamples(), theHO_TP, and whichSampleTriggered().

20 { theHO_TP = data; }
bool data(int whichbit=HO_TP_SAMPLES_MAX) const
HOTriggerPrimitiveDigi::HOTriggerPrimitiveDigi ( int  ieta,
int  iphi,
int  nsamples,
int  whichSampleTriggered,
int  databits 
)

Definition at line 4 of file HOTriggerPrimitiveDigi.cc.

References funct::abs(), HO_TP_SAMPLES_MAX, nsamples(), EgammaValidation_cff::samples, and theHO_TP.

5  {
6  if ((nsamples < 0) || (nsamples > HO_TP_SAMPLES_MAX))
7  printf("HOTRiggerPrimitiveDigi: nsamples out of range.");
9  printf("HOTriggerPrimitiveDigi: specified Triggering Sample out of range");
10  if ((databits >> nsamples) != 0x0000)
11  printf("HOTRiggerPrimitiveDigi: Specified extra bits out of nsamples range.");
12  int samples = nsamples;
13  if (samples < 0)
14  samples = 0;
15  if (samples > HO_TP_SAMPLES_MAX)
16  samples = HO_TP_SAMPLES_MAX;
17 
18  theHO_TP = (abs(ieta) & 0xf) | ((ieta < 0) ? (0x10) : (0x00)) | ((iphi & 0x7F) << 5) | ((samples & 0xF) << 12) |
19  (((whichSampleTriggered)&0xF) << 16) | ((databits & 0x3FF) << 20);
20 }
static const int HO_TP_SAMPLES_MAX
int iphi() const
get the iphi value
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int ieta() const
get the signed ieta value
int nsamples() const
get the number of samples used to compute the TP
int whichSampleTriggered() const
get the number of the triggering sample

Member Function Documentation

int HOTriggerPrimitiveDigi::bits ( ) const
inline

get the single-bit data

Definition at line 42 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

42 { return (theHO_TP >> 20) & 0x03FF; }
bool HOTriggerPrimitiveDigi::data ( int  whichbit = HO_TP_SAMPLES_MAX) const

get one bit from the single-bit data. required to be called with a legal value.

Definition at line 23 of file HOTriggerPrimitiveDigi.cc.

References nsamples(), and theHO_TP.

Referenced by HOTriggerPrimitiveDigi(), and operator<<().

23  {
24  if ((whichbit < 0) || (whichbit > nsamples())) {
25  printf("HOTPDigi: Sample bit requested out of range.");
26  return false;
27  }
28  return ((theHO_TP >> (20 + whichbit)) & 0x0001);
29 }
int nsamples() const
get the number of samples used to compute the TP
const HcalDetId HOTriggerPrimitiveDigi::id ( ) const
inline

Definition at line 23 of file HOTriggerPrimitiveDigi.h.

References HcalOuter, ieta(), and iphi().

23 { return HcalDetId(HcalOuter, ieta(), iphi(), 4); }
int iphi() const
get the iphi value
int ieta() const
get the signed ieta value
int HOTriggerPrimitiveDigi::ieta ( ) const
inline

get the signed ieta value

Definition at line 34 of file HOTriggerPrimitiveDigi.h.

References ieta_abs(), and ieta_sign().

Referenced by HOTriggerPrimitiveDigi(), id(), and operator<<().

34 { return ieta_abs() * ieta_sign(); }
int ieta_abs() const
get the absolute value of ieta
int ieta_sign() const
get the sign of ieta (int: +/- 1)
int HOTriggerPrimitiveDigi::ieta_abs ( ) const
inline

get the absolute value of ieta

Definition at line 32 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by ieta().

32 { return (theHO_TP & 0x000F); }
int HOTriggerPrimitiveDigi::ieta_sign ( ) const
inline

get the sign of ieta (int: +/- 1)

Definition at line 30 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by ieta().

30 { return ((theHO_TP & 0x10) ? (-1) : (1)); }
int HOTriggerPrimitiveDigi::iphi ( ) const
inline

get the iphi value

Definition at line 36 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by HOTriggerPrimitiveDigi(), id(), and operator<<().

36 { return (theHO_TP >> 5) & 0x007F; }
int HOTriggerPrimitiveDigi::nsamples ( ) const
inline

get the number of samples used to compute the TP

Definition at line 38 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by data(), HOTriggerPrimitiveDigi(), and operator<<().

38 { return (theHO_TP >> 12) & 0x000F; }
uint32_t HOTriggerPrimitiveDigi::operator() ( )
inline

for streaming

Definition at line 51 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

51 { return theHO_TP; }
uint32_t HOTriggerPrimitiveDigi::raw ( ) const
inline

get the raw (packed) Triger Primitive

Definition at line 26 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

26 { return theHO_TP; }
int HOTriggerPrimitiveDigi::raw_ieta ( ) const
inline

get the raw ieta value

Definition at line 28 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

28 { return theHO_TP & 0x1F; }
int HOTriggerPrimitiveDigi::whichSampleTriggered ( ) const
inline

get the number of the triggering sample

Definition at line 40 of file HOTriggerPrimitiveDigi.h.

References theHO_TP.

Referenced by HOTriggerPrimitiveDigi(), and operator<<().

40 { return (theHO_TP >> 16) & 0x000F; }

Member Data Documentation

const int HOTriggerPrimitiveDigi::HO_TP_SAMPLES_MAX = 10
static

Definition at line 44 of file HOTriggerPrimitiveDigi.h.

Referenced by HOTriggerPrimitiveDigi().

uint32_t HOTriggerPrimitiveDigi::theHO_TP
private