CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GctElectronFinalSort.h
Go to the documentation of this file.
1 #ifndef L1GCTELECTRONFINALSORT_H_
2 #define L1GCTELECTRONFINALSORT_H_
3 
5 
8 
9 #include <vector>
10 
27 class L1GctEmLeafCard;
28 
30 {
31 public:
37  L1GctElectronFinalSort(bool iso, L1GctEmLeafCard* posEtaCard,
38  L1GctEmLeafCard* negEtaCard);
44  virtual void fetchInput();
47  virtual void process();
50  void setInputEmCand(unsigned i, const L1GctEmCand& cand);
53  inline std::vector<L1GctEmCand> getInputCands() const { return m_inputCands; }
56  inline std::vector<L1GctEmCand> getOutputCands() const { return m_outputCands.contents; }
59  friend std::ostream& operator<<(std::ostream& s,const L1GctElectronFinalSort& cand);
62  bool setupOk() const { return m_setupOk; }
63 
64  protected:
65 
67  virtual void resetProcessor();
68  virtual void resetPipelines();
69 
71  virtual void setupObjects() {}
72 
73  private:
83  std::vector<L1GctEmCand> m_inputCands;
86  Pipeline<L1GctEmCand> m_outputCands;
87 
89  bool m_setupOk;
90 };
91 
92 std::ostream& operator<<(std::ostream& s,const L1GctElectronFinalSort& cand);
93 
94 #endif /*L1GCTELECTRONFINALSORT_H_*/
virtual void setupObjects()
Initialise inputs with null objects for the correct bunch crossing if required.
L1GctElectronSorter::rank_gt rank_gt
int i
Definition: DBlmapReader.cc:9
friend std::ostream & operator<<(std::ostream &s, const L1GctElectronFinalSort &cand)
overload of cout operator
L1GctEmLeafCard * m_theNegEtaLeafCard
L1GctElectronFinalSort(bool iso, L1GctEmLeafCard *posEtaCard, L1GctEmLeafCard *negEtaCard)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
Level-1 Trigger EM candidate at output of GCT.
Definition: L1GctEmCand.h:22
ABC for a GCT trigger data processing unit.
L1GctEmLeafCard * m_thePosEtaLeafCard
the 1st stage electron sorters
std::vector< L1GctEmCand > getInputCands() const
return input data
std::vector< L1GctEmCand > getOutputCands() const
return output data
bool setupOk() const
check setup
L1GctElectronSorter::prioritisedEmCand prioritisedEmCand
Use some definitions from the ElectronSorter in the leaf cards.
bool m_setupOk
Check the setup.
virtual void resetProcessor()
Separate reset methods for the processor itself and any data stored in pipelines. ...
Pipeline< L1GctEmCand > m_outputCands
output data
virtual void process()
process the data, fill output buffers
std::vector< L1GctEmCand > m_inputCands
input data
void setInputEmCand(unsigned i, const L1GctEmCand &cand)
set input data
bool m_emCandsType
type of electron candidate (iso(0) or non-iso(1))
virtual void fetchInput()
get input data from sources
Emulates a leaf card programmed for electron sorting.