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, l1t::tftype mtfType, const OMTFinput& aInput) = 0;
25 
27  virtual void setGhostBuster(IGhostBuster* ghostBuster) = 0;
28 
29  virtual AlgoMuons sortResults(unsigned int iProcessor, l1t::tftype mtfType, int charge = 0) = 0;
30 
31  virtual AlgoMuons ghostBust(AlgoMuons refHitCands, int charge = 0) = 0;
32 
33  virtual bool checkHitPatternValidity(unsigned int hits) = 0;
34 
35  virtual std::vector<l1t::RegionalMuonCand> getFinalcandidates(unsigned int iProcessor,
36  l1t::tftype mtfType,
37  const AlgoMuons& algoCands) = 0;
38 
39  virtual std::vector<l1t::RegionalMuonCand> run(unsigned int iProcessor,
40  l1t::tftype mtfType,
41  int bx,
42  OMTFinputMaker* inputMaker,
43  std::vector<std::unique_ptr<IOMTFEmulationObserver> >& observers) = 0;
44 
45  virtual void printInfo() const = 0;
46 };
47 
48 #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 processInput(unsigned int iProcessor, l1t::tftype mtfType, const OMTFinput &aInput)=0
virtual void setGhostBuster(IGhostBuster *ghostBuster)=0
allows to use other IGhostBuster implementation than the default one
std::vector< AlgoMuonPtr > AlgoMuons
Definition: AlgoMuon.h:102
virtual AlgoMuons sortResults(unsigned int iProcessor, l1t::tftype mtfType, int charge=0)=0