CMS 3D CMS Logo

ProcessBase.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_ProcessBase_h
2 #define L1Trigger_TrackFindingTracklet_interface_ProcessBase_h
3 
4 #include <string>
5 
6 namespace trklet {
7 
8  class MemoryBase;
9  class Settings;
10  class Globals;
11 
12  class ProcessBase {
13  public:
14  ProcessBase(std::string name, Settings const& settings, Globals* global, unsigned int iSector);
15 
16  virtual ~ProcessBase() = default;
17 
18  // Add wire from pin "output" or "input" this proc module to memory instance "memory".
19  virtual void addOutput(MemoryBase* memory, std::string output) = 0;
20  virtual void addInput(MemoryBase* memory, std::string input) = 0;
21 
22  std::string const& getName() const { return name_; }
23 
24  unsigned int nbits(unsigned int power);
25 
26  //method sets the layer and disk based on the name. pos is the position in the memory name where the layer or disk is specified
27  void initLayerDisk(unsigned int pos, int& layer, int& disk);
28  void initLayerDisk(unsigned int pos, int& layer, int& disk, int& layerdisk);
29 
30  unsigned int initLayerDisk(unsigned int pos);
31 
32  //This function processes the name of a TE module to determine the layerdisks and iseed
33  void initLayerDisksandISeed(unsigned int& layerdisk1, unsigned int& layerdisk2, unsigned int& iSeed);
34 
35  unsigned int getISeed(std::string name);
36 
37  protected:
39  unsigned int iSector_;
40 
41  double phimin_;
42  double phimax_;
43 
46  };
47 }; // namespace trklet
48 #endif
trklet::ProcessBase::addOutput
virtual void addOutput(MemoryBase *memory, std::string output)=0
input
static const std::string input
Definition: EdmProvDump.cc:48
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
pos
Definition: PixelAliasList.h:18
trklet::Settings
Definition: Settings.h:26
trklet::ProcessBase::nbits
unsigned int nbits(unsigned int power)
Definition: ProcessBase.cc:29
trklet::ProcessBase::settings_
Settings const & settings_
Definition: ProcessBase.h:44
trklet::Globals
Definition: Globals.h:32
trklet::ProcessBase::addInput
virtual void addInput(MemoryBase *memory, std::string input)=0
trklet::ProcessBase::initLayerDisksandISeed
void initLayerDisksandISeed(unsigned int &layerdisk1, unsigned int &layerdisk2, unsigned int &iSeed)
Definition: ProcessBase.cc:75
trklet::ProcessBase::initLayerDisk
void initLayerDisk(unsigned int pos, int &layer, int &disk)
Definition: ProcessBase.cc:45
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet
Definition: AllProjectionsMemory.h:9
trklet::ProcessBase
Definition: ProcessBase.h:12
trklet::ProcessBase::getISeed
unsigned int getISeed(std::string name)
Definition: ProcessBase.cc:131
mps_setup.memory
memory
Definition: mps_setup.py:156
trklet::ProcessBase::getName
std::string const & getName() const
Definition: ProcessBase.h:22
trklet::ProcessBase::~ProcessBase
virtual ~ProcessBase()=default
trklet::ProcessBase::name_
std::string name_
Definition: ProcessBase.h:38
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::ProcessBase::iSector_
unsigned int iSector_
Definition: ProcessBase.h:39
trklet::ProcessBase::phimin_
double phimin_
Definition: ProcessBase.h:41
trklet::ProcessBase::globals_
Globals * globals_
Definition: ProcessBase.h:45
trklet::ProcessBase::ProcessBase
ProcessBase(std::string name, Settings const &settings, Globals *global, unsigned int iSector)
Definition: ProcessBase.cc:14
trklet::ProcessBase::phimax_
double phimax_
Definition: ProcessBase.h:42