CMS 3D CMS Logo

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

#include <EcalTriggerPrimitiveDigi.h>

Public Types

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

Public Member Functions

int compressedEt () const
 get the encoded/compressed Et of interesting sample More...
 
 EcalTriggerPrimitiveDigi ()
 
 EcalTriggerPrimitiveDigi (const EcalTrigTowerDetId &id)
 
bool fineGrain () const
 get the fine-grain bit of interesting sample More...
 
const EcalTrigTowerDetIdid () const
 
bool isDebug () const
 True if debug mode (# of samples > 1) More...
 
int l1aSpike () const
 
const EcalTriggerPrimitiveSampleoperator[] (int i) const
 
const EcalTriggerPrimitiveSamplesample (int i) const
 
int sampleOfInterest () const
 Gets the interesting sample. More...
 
void setSample (int i, const EcalTriggerPrimitiveSample &sam)
 
void setSampleValue (int i, uint16_t value)
 
void setSize (int size)
 
int sFGVB () const
 
int size () const
 
void swap (EcalTriggerPrimitiveDigi &rh)
 
int ttFlag () const
 get the Trigger tower Flag of interesting sample More...
 

Static Public Attributes

static const int MAXSAMPLES = 20
 

Private Attributes

std::vector< EcalTriggerPrimitiveSampledata_
 
EcalTrigTowerDetId id_
 
int size_
 

Detailed Description

see also EcalTrigPrimCompactColl.

Definition at line 16 of file EcalTriggerPrimitiveDigi.h.

Member Typedef Documentation

For the sorted collection.

Definition at line 18 of file EcalTriggerPrimitiveDigi.h.

Constructor & Destructor Documentation

EcalTriggerPrimitiveDigi::EcalTriggerPrimitiveDigi ( )

Definition at line 4 of file EcalTriggerPrimitiveDigi.cc.

4 : size_(0), data_(MAXSAMPLES) {}
std::vector< EcalTriggerPrimitiveSample > data_
EcalTriggerPrimitiveDigi::EcalTriggerPrimitiveDigi ( const EcalTrigTowerDetId id)
explicit

Definition at line 6 of file EcalTriggerPrimitiveDigi.cc.

7  : id_(id), size_(0), data_(MAXSAMPLES) {}
std::vector< EcalTriggerPrimitiveSample > data_

Member Function Documentation

int EcalTriggerPrimitiveDigi::compressedEt ( ) const

get the encoded/compressed Et of interesting sample

Definition at line 19 of file EcalTriggerPrimitiveDigi.cc.

References data_, sample(), and sampleOfInterest().

Referenced by EcalTrigPrimAnalyzer::analyze(), TPGCheck::analyze(), TCCBlockFormatter::DigiToRaw(), EcalTPGScale::getTPGInGeV(), EcalFEtoDigi::produce(), and EcalTrigPrimFunctionalAlgo::run_part2().

19  {
20  int sample = sampleOfInterest();
21  if (sample != -1)
22  return data_[sample].compressedEt();
23  else
24  return -1;
25 }
const EcalTriggerPrimitiveSample & sample(int i) const
int sampleOfInterest() const
Gets the interesting sample.
std::vector< EcalTriggerPrimitiveSample > data_
bool EcalTriggerPrimitiveDigi::fineGrain ( ) const

get the fine-grain bit of interesting sample

Definition at line 28 of file EcalTriggerPrimitiveDigi.cc.

References data_, sample(), and sampleOfInterest().

Referenced by EcalTrigPrimAnalyzer::analyze(), TPGCheck::analyze(), TCCBlockFormatter::DigiToRaw(), and EcalFEtoDigi::produce().

28  {
29  int sample = sampleOfInterest();
30  if (sample != -1)
31  return data_[sample].fineGrain();
32  else
33  return false;
34 }
const EcalTriggerPrimitiveSample & sample(int i) const
int sampleOfInterest() const
Gets the interesting sample.
std::vector< EcalTriggerPrimitiveSample > data_
const EcalTrigTowerDetId& EcalTriggerPrimitiveDigi::id ( ) const
inline
bool EcalTriggerPrimitiveDigi::isDebug ( ) const

True if debug mode (# of samples > 1)

Definition at line 52 of file EcalTriggerPrimitiveDigi.cc.

References size_.

Referenced by l1aSpike().

52  {
53  if (size_ == 1)
54  return false;
55  else if (size_ > 1)
56  return true;
57  return false;
58 }
int EcalTriggerPrimitiveDigi::l1aSpike ( ) const
inline

Gets the L1A spike detection flag. Beware the flag is inverted. Deprecated, use instead sFGVB() method, whose name is less missleading

Returns
0 spike like pattern 1 EM shower like pattern

Definition at line 59 of file EcalTriggerPrimitiveDigi.h.

References isDebug(), sampleOfInterest(), and sFGVB().

59 { return sFGVB(); }
const EcalTriggerPrimitiveSample& EcalTriggerPrimitiveDigi::operator[] ( int  i) const
inline

Definition at line 32 of file EcalTriggerPrimitiveDigi.h.

References data_, and mps_fire::i.

32 { return data_[i]; }
std::vector< EcalTriggerPrimitiveSample > data_
const EcalTriggerPrimitiveSample& EcalTriggerPrimitiveDigi::sample ( int  i) const
inline

Definition at line 33 of file EcalTriggerPrimitiveDigi.h.

References data_, mps_fire::i, setSize(), and size().

Referenced by compressedEt(), fineGrain(), L1EmulBias::ModifyCollection(), operator<<(), sFGVB(), and ttFlag().

33 { return data_[i]; }
std::vector< EcalTriggerPrimitiveSample > data_
int EcalTriggerPrimitiveDigi::sampleOfInterest ( ) const

Gets the interesting sample.

Definition at line 9 of file EcalTriggerPrimitiveDigi.cc.

References size_.

Referenced by compressedEt(), fineGrain(), EcalSimRawData::getTp(), l1aSpike(), sFGVB(), and ttFlag().

9  {
10  if (size_ == 1)
11  return 0;
12  else if (size_ == 5)
13  return 2;
14  else
15  return -1;
16 }
void EcalTriggerPrimitiveDigi::setSample ( int  i,
const EcalTriggerPrimitiveSample sam 
)
inline
void EcalTriggerPrimitiveDigi::setSampleValue ( int  i,
uint16_t  value 
)
inline

Definition at line 37 of file EcalTriggerPrimitiveDigi.h.

References data_, and mps_fire::i.

Referenced by DCCEBTCCBlock::addTriggerPrimitivesToCollection(), and L1EmulBias::ModifyCollection().

37 { data_[i].setValue(value); }
Definition: value.py:1
std::vector< EcalTriggerPrimitiveSample > data_
void EcalTriggerPrimitiveDigi::setSize ( int  size)
int EcalTriggerPrimitiveDigi::sFGVB ( ) const

Gets the "strip fine grain veto bit" (sFGVB) used as L1A spike detection

Returns
0 spike like pattern 1 EM shower like pattern

Definition at line 44 of file EcalTriggerPrimitiveDigi.cc.

References data_, sample(), and sampleOfInterest().

Referenced by l1aSpike().

44  {
45  int sample = sampleOfInterest();
46  if (sample != -1)
47  return data_[sample].l1aSpike();
48  else
49  return -1;
50 }
const EcalTriggerPrimitiveSample & sample(int i) const
int sampleOfInterest() const
Gets the interesting sample.
std::vector< EcalTriggerPrimitiveSample > data_
int EcalTriggerPrimitiveDigi::size ( void  ) const
inline
void EcalTriggerPrimitiveDigi::swap ( EcalTriggerPrimitiveDigi rh)
inline

Definition at line 23 of file EcalTriggerPrimitiveDigi.h.

References data_, id_, size_, and std::swap().

Referenced by swap().

23  {
24  std::swap(id_, rh.id_);
25  std::swap(size_, rh.size_);
26  std::swap(data_, rh.data_);
27  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< EcalTriggerPrimitiveSample > data_
int EcalTriggerPrimitiveDigi::ttFlag ( ) const

get the Trigger tower Flag of interesting sample

Definition at line 36 of file EcalTriggerPrimitiveDigi.cc.

References data_, sample(), and sampleOfInterest().

Referenced by EcalTrigPrimAnalyzer::analyze(), TPGCheck::analyze(), TCCBlockFormatter::DigiToRaw(), EcalSelectiveReadoutProducer::printTTFlags(), and EcalFEtoDigi::produce().

36  {
37  int sample = sampleOfInterest();
38  if (sample != -1)
39  return data_[sample].ttFlag();
40  else
41  return -1;
42 }
const EcalTriggerPrimitiveSample & sample(int i) const
int sampleOfInterest() const
Gets the interesting sample.
std::vector< EcalTriggerPrimitiveSample > data_

Member Data Documentation

std::vector<EcalTriggerPrimitiveSample> EcalTriggerPrimitiveDigi::data_
private
EcalTrigTowerDetId EcalTriggerPrimitiveDigi::id_
private

Definition at line 68 of file EcalTriggerPrimitiveDigi.h.

Referenced by id(), and swap().

const int EcalTriggerPrimitiveDigi::MAXSAMPLES = 20
static

Definition at line 39 of file EcalTriggerPrimitiveDigi.h.

Referenced by setSize().

int EcalTriggerPrimitiveDigi::size_
private

Definition at line 69 of file EcalTriggerPrimitiveDigi.h.

Referenced by isDebug(), sampleOfInterest(), setSize(), size(), and swap().