CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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);
32  void reset();
35  virtual void fetchInput();
38  virtual void process();
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:
64 
66  virtual void resetProcessor() {}
67  virtual void resetPipelines() {}
68 
70  virtual void setupObjects() {}
71 
72 private:
74  int m_id;
77  std::vector<L1GctElectronSorter*> m_sorters;
78 
79 };
80 
81 std::ostream& operator<<(std::ostream& s,const L1GctEmLeafCard& card);
82 #endif /*L1GCTELECTRONLEAFCARD_H_*/
std::vector< L1GctEmCand > getOutputNonIsoEmCands(int fpga)
get the output candidates
L1GctElectronSorter * getNonIsoElectronSorterU1()
virtual void setupObjects()
Initialise inputs with null objects for the correct bunch crossing if required.
L1GctElectronSorter * getNonIsoElectronSorterU2()
friend std::ostream & operator<<(std::ostream &s, const L1GctEmLeafCard &card)
overload of cout operator
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
ABC for a GCT trigger data processing unit.
virtual void resetProcessor()
Separate reset methods for the processor itself and any data stored in pipelines. ...
std::vector< L1GctEmCand > getOutputIsoEmCands(int fpga)
get the output candidates
static const unsigned N_SORTERS
int m_id
card ID (0 or 1)
int id()
get ID
L1GctElectronSorter * getIsoElectronSorterU1()
Class that sorts electron candidates.
~L1GctEmLeafCard()
destruct
virtual void fetchInput()
fetch input data
std::vector< L1GctElectronSorter * > m_sorters
virtual void process()
process the event
void reset()
clear internal trigger data buffers
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
L1GctElectronSorter * getIsoElectronSorterU2()
Emulates a leaf card programmed for electron sorting.
L1GctEmLeafCard(int id)
construct with ID
virtual void resetPipelines()