CMS 3D CMS Logo

L1GctEmLeafCard.h
Go to the documentation of this file.
1 #ifndef L1GCTELECTRONLEAFCARD_H_
2 #define L1GCTELECTRONLEAFCARD_H_
3 
6 
7 #include <vector>
8 #include <ostream>
9 
21 public:
22  static const unsigned N_SORTERS;
23 
24 public:
26  L1GctEmLeafCard(int id);
29  ~L1GctEmLeafCard() override;
32  void reset();
35  void fetchInput() override;
38  void process() override;
41  void setBxRange(const int firstBx, const int numberOfBx);
44  void setNextBx(const int bxnum);
47  int id() { return m_id; }
50  std::vector<L1GctEmCand> getOutputIsoEmCands(int fpga);
53  std::vector<L1GctEmCand> getOutputNonIsoEmCands(int fpga);
56  friend std::ostream& operator<<(std::ostream& s, const L1GctEmLeafCard& card);
57 
62 
63 protected:
65  void resetProcessor() override {}
66  void resetPipelines() override {}
67 
69  void setupObjects() override {}
70 
71 private:
73  int m_id;
76  std::vector<L1GctElectronSorter*> m_sorters;
77 };
78 
79 std::ostream& operator<<(std::ostream& s, const L1GctEmLeafCard& card);
80 #endif /*L1GCTELECTRONLEAFCARD_H_*/
L1GctEmLeafCard::getOutputNonIsoEmCands
std::vector< L1GctEmCand > getOutputNonIsoEmCands(int fpga)
get the output candidates
Definition: L1GctEmLeafCard.cc:75
L1GctEmLeafCard::resetPipelines
void resetPipelines() override
Definition: L1GctEmLeafCard.h:66
L1GctEmLeafCard::getNonIsoElectronSorterU1
L1GctElectronSorter * getNonIsoElectronSorterU1()
Definition: L1GctEmLeafCard.h:59
L1GctEmLeafCard::m_sorters
std::vector< L1GctElectronSorter * > m_sorters
processing - 0,2 are iso sorters, 1,3 are non-iso
Definition: L1GctEmLeafCard.h:76
L1GctEmLeafCard::resetProcessor
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines.
Definition: L1GctEmLeafCard.h:65
L1GctEmLeafCard::getOutputIsoEmCands
std::vector< L1GctEmCand > getOutputIsoEmCands(int fpga)
get the output candidates
Definition: L1GctEmLeafCard.cc:66
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1GctEmLeafCard::setBxRange
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
Definition: L1GctEmLeafCard.cc:36
L1GctEmLeafCard::N_SORTERS
static const unsigned N_SORTERS
Definition: L1GctEmLeafCard.h:22
L1GctEmLeafCard::setupObjects
void setupObjects() override
Initialise inputs with null objects for the correct bunch crossing if required.
Definition: L1GctEmLeafCard.h:69
L1GctEmLeafCard::id
int id()
get ID
Definition: L1GctEmLeafCard.h:47
operator<<
std::ostream & operator<<(std::ostream &s, const L1GctEmLeafCard &card)
L1GctEmLeafCard::operator<<
friend std::ostream & operator<<(std::ostream &s, const L1GctEmLeafCard &card)
overload of cout operator
L1GctEmLeafCard::getIsoElectronSorterU1
L1GctElectronSorter * getIsoElectronSorterU1()
Definition: L1GctEmLeafCard.h:58
L1GctEmLeafCard::setNextBx
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
Definition: L1GctEmLeafCard.cc:44
L1GctElectronSorter.h
L1GctElectronSorter
Class that sorts electron candidates.
Definition: L1GctElectronSorter.h:26
L1GctEmLeafCard::L1GctEmLeafCard
L1GctEmLeafCard(int id)
construct with ID
Definition: L1GctEmLeafCard.cc:10
L1GctEmCand.h
L1GctEmLeafCard
Emulates a leaf card programmed for electron sorting.
Definition: L1GctEmLeafCard.h:20
L1GctEmLeafCard::getNonIsoElectronSorterU2
L1GctElectronSorter * getNonIsoElectronSorterU2()
Definition: L1GctEmLeafCard.h:61
L1GctEmLeafCard::fetchInput
void fetchInput() override
fetch input data
Definition: L1GctEmLeafCard.cc:52
L1GctProcessor
ABC for a GCT trigger data processing unit.
Definition: L1GctProcessor.h:22
L1GctEmLeafCard::~L1GctEmLeafCard
~L1GctEmLeafCard() override
destruct
Definition: L1GctEmLeafCard.cc:20
L1GctEmLeafCard::process
void process() override
process the event
Definition: L1GctEmLeafCard.cc:59
L1GctEmLeafCard::reset
void reset()
clear internal trigger data buffers
Definition: L1GctEmLeafCard.cc:28
L1GctEmLeafCard::m_id
int m_id
card ID (0 or 1)
Definition: L1GctEmLeafCard.h:73
L1GctEmLeafCard::getIsoElectronSorterU2
L1GctElectronSorter * getIsoElectronSorterU2()
Definition: L1GctEmLeafCard.h:60