CMS 3D CMS Logo

IProcessorEmulator.h
Go to the documentation of this file.
1 /*
2  * IProcessor.h
3  *
4  * Created on: Oct 4, 2017
5  * Author: kbunkow
6  */
7 
8 #ifndef L1T_OmtfP1_IPROCESSOREMULATOR_H_
9 #define L1T_OmtfP1_IPROCESSOREMULATOR_H_
10 
17 
19 
21 public:
22  virtual ~IProcessorEmulator() {}
23 
24  virtual void processInput(unsigned int iProcessor,
25  l1t::tftype mtfType,
26  const OMTFinput& aInput,
27  std::vector<std::unique_ptr<IOMTFEmulationObserver> >& observers) = 0;
28 
30  virtual void setGhostBuster(IGhostBuster* ghostBuster) = 0;
31 
32  virtual AlgoMuons sortResults(unsigned int iProcessor, l1t::tftype mtfType, int charge = 0) = 0;
33 
34  virtual AlgoMuons ghostBust(AlgoMuons refHitCands, int charge = 0) = 0;
35 
36  virtual bool checkHitPatternValidity(unsigned int hits) = 0;
37 
38  virtual std::vector<l1t::RegionalMuonCand> getFinalcandidates(unsigned int iProcessor,
39  l1t::tftype mtfType,
40  const AlgoMuons& algoCands) = 0;
41 
42  virtual std::vector<l1t::RegionalMuonCand> run(unsigned int iProcessor,
43  l1t::tftype mtfType,
44  int bx,
45  OMTFinputMaker* inputMaker,
46  std::vector<std::unique_ptr<IOMTFEmulationObserver> >& observers) = 0;
47 
48  virtual void printInfo() const = 0;
49 };
50 
51 #endif /* L1T_OmtfP1_IPROCESSOREMULATOR_H_ */
virtual void printInfo() const =0
virtual bool checkHitPatternValidity(unsigned int hits)=0
virtual AlgoMuons ghostBust(AlgoMuons refHitCands, int charge=0)=0
virtual std::vector< l1t::RegionalMuonCand > run(unsigned int iProcessor, l1t::tftype mtfType, int bx, OMTFinputMaker *inputMaker, std::vector< std::unique_ptr< IOMTFEmulationObserver > > &observers)=0
virtual std::vector< l1t::RegionalMuonCand > getFinalcandidates(unsigned int iProcessor, l1t::tftype mtfType, const AlgoMuons &algoCands)=0
virtual void setGhostBuster(IGhostBuster *ghostBuster)=0
allows to use other IGhostBuster implementation than the default one
virtual void processInput(unsigned int iProcessor, l1t::tftype mtfType, const OMTFinput &aInput, std::vector< std::unique_ptr< IOMTFEmulationObserver > > &observers)=0
std::vector< AlgoMuonPtr > AlgoMuons
Definition: AlgoMuon.h:176
virtual AlgoMuons sortResults(unsigned int iProcessor, l1t::tftype mtfType, int charge=0)=0