File indexing completed on 2024-11-15 23:40:43
0001 #ifndef L1Trigger_TrackFindingTracklet_interface_ProcessBase_h
0002 #define L1Trigger_TrackFindingTracklet_interface_ProcessBase_h
0003
0004 #include <string>
0005
0006 namespace trklet {
0007
0008 class MemoryBase;
0009 class Settings;
0010 class Globals;
0011
0012 class ProcessBase {
0013 public:
0014 ProcessBase(std::string name, Settings const& settings, Globals* global);
0015
0016 virtual ~ProcessBase() = default;
0017
0018
0019 virtual void addOutput(MemoryBase* memory, std::string output) = 0;
0020 virtual void addInput(MemoryBase* memory, std::string input) = 0;
0021
0022 std::string const& getName() const { return name_; }
0023
0024 unsigned int nbits(unsigned int power);
0025
0026
0027 void initLayerDisk(unsigned int pos, int& layer, int& disk);
0028 void initLayerDisk(unsigned int pos, int& layer, int& disk, int& layerdisk);
0029
0030 unsigned int initLayerDisk(unsigned int pos);
0031
0032
0033 void initLayerDisksandISeed(unsigned int& layerdisk1, unsigned int& layerdisk2, unsigned int& iSeed);
0034 void initLayerDisksandISeedDisp(unsigned int& layerdisk1,
0035 unsigned int& layerdisk2,
0036 unsigned int& layerdisk3,
0037 unsigned int& iSeed);
0038
0039 unsigned int getISeed(const std::string& name);
0040
0041 protected:
0042 std::string name_;
0043
0044 Settings const& settings_;
0045 Globals* globals_;
0046 };
0047 };
0048 #endif