18 :
ProcessBase(
name, settings, global), meTable_(settings), diskTable_(settings) {
47 if (
output ==
"allinnerstubout") {
50 char memtype =
memory->getName().back();
55 if (
output.substr(0, 10) ==
"allstubout") {
61 if (
output.substr(0, 9) ==
"vmstubout") {
62 if (
memory->getName().substr(3, 2) ==
"TE") {
73 if (seedindex == -1) {
75 vector<VMStubsTEMemory*> vectmp;
82 }
else if (
memory->getName().substr(3, 2) ==
"ME") {
89 throw cms::Exception(
"LogicError") << __FILE__ <<
" " << __LINE__ <<
" memory: " <<
memory->getName()
90 <<
" => should never get here!";
96 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find output : " <<
output;
104 if (
input ==
"stubin") {
107 if (tmp1 !=
nullptr) {
112 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find input : " <<
input;
116 unsigned int allStubCounter = 0;
123 for (
unsigned int i = 0;
i < stubinput->nStubs();
i++) {
129 Stub* stub = stubinput->getStub(
i);
133 bool negdisk = (stub->
disk().
value() < 0);
147 allstub->addStub(stub);
156 unsigned int phicutmax = 4;
157 unsigned int phicutmin = 4;
166 char memtype = allstub.first;
167 if (memtype ==
'R' && iphipos < phicutmax)
169 if (memtype ==
'L' && iphipos >= phicutmin)
171 if (memtype ==
'A' && iphipos < 4)
173 if (memtype ==
'B' && iphipos >= 4)
175 if (memtype ==
'E' && iphipos >= 4)
177 if (memtype ==
'F' && iphipos < 4)
179 if (memtype ==
'C' && iphipos >= 4)
181 if (memtype ==
'D' && iphipos < 4)
196 if (memtype ==
'M' || memtype ==
'R' || memtype ==
'L') {
209 allstub.second->addStub(stub);
226 indexr = stub->
r().
value();
270 unsigned int iseed = ivmstubTEPHI.seednumber;
286 FPGAWord binlookup(lutval, lutwidth,
true, __LINE__, __FILE__);
288 if (binlookup.
value() < 0)
296 unsigned int tmp = binlookup.
value() & 7;
297 binlookup.
set(
tmp, 3,
true, __LINE__, __FILE__);
301 VMStubTE tmpstub(stub, finephi, stub->
bend(), binlookup, allStubIndex);
303 unsigned int nmem = ivmstubTEPHI.vmstubmem.size();
306 for (
unsigned int l = 0;
l < nmem;
l++) {
309 <<
" bin=" <<
bin <<
" ivmte " << ivmte <<
" finephi " << finephi.
value()
unsigned int vmrlutrbits(unsigned int layerdisk) const
Log< level::Info, true > LogVerbatim
constexpr double VMROUTERCUTZL1L3L5
unsigned int maxStep(std::string module) const
const FPGAWord & r() const
double lutwidthtab(unsigned int inner, unsigned int iSeed) const
constexpr double VMROUTERCUTZL1
const FPGAWord & z() const
std::vector< InputLinkMemory * > stubinputs_
unsigned int nbendbitsmedisk() const
Settings const & settings_
int lookup(unsigned int index) const
std::vector< std::pair< char, AllInnerStubsMemory * > > allinnerstubs_
const FPGAWord & bend() const
std::vector< VMStubsMEMemory * > vmstubsMEPHI_
constexpr unsigned int N_DSS_MOD
constexpr double VMROUTERCUTZL2
static std::string const input
unsigned int NLONGVMBINS() const
const FPGAWord & disk() const
FPGAWord iphivmFineBins(int VMbits, int finebits) const
void execute(unsigned int iSector)
unsigned int nbitsallstubs(unsigned int layerdisk) const
std::vector< VMStubsTEPHICM > vmstubsTEPHI_
unsigned int overlapbits_
void setAllStubIndex(int nstub)
void addOutput(MemoryBase *memory, std::string output) override
unsigned int nbitsvmte(unsigned int inner, unsigned int iSeed) const
constexpr double VMROUTERCUTRD1D3
Abs< T >::type abs(const T &t)
unsigned int nbitsvmme(unsigned int layerdisk) const
void initLayerDisk(unsigned int pos, int &layer, int &disk)
unsigned int nvmte(unsigned int inner, unsigned int iSeed) const
constexpr unsigned int NFINERZBITS
unsigned int nallstubs(unsigned int layerdisk) const
bool debugTracklet() const
void set(int value, int nbits, bool positive=true, int line=-1, const char *file=nullptr)
int nfinephi(unsigned int inner, unsigned int iSeed) const
const FPGAWord & phicorr() const
unsigned int nvmme(unsigned int layerdisk) const
double nphireg(unsigned int inner, unsigned int iSeed) const
void setAllStubIndex(unsigned int index)
void addInput(MemoryBase *memory, std::string input) override
std::vector< AllStubsMemory * > allstubs_
std::string const & getName() const
constexpr unsigned int N_PHIBITS
void initVMRTable(unsigned int layerdisk, VMRTableType type, int region=-1)
constexpr unsigned int N_BITSMEMADDRESS
constexpr unsigned int N_SEED_PROMPT
unsigned int vmrlutzbits(unsigned int layerdisk) const