File indexing completed on 2024-04-06 12:21:55
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
0035 unsigned int getISeed(const std::string& name);
0036
0037 protected:
0038 std::string name_;
0039
0040 Settings const& settings_;
0041 Globals* globals_;
0042 };
0043 };
0044 #endif