66 auto size = [](
int& sum,
const deque<StubPP*>& stubs) {
return sum += stubs.size(); };
68 vector<StubGP*> acceptedSector;
69 vector<StubGP*> lostSector;
70 acceptedSector.reserve(nStubs);
71 lostSector.reserve(nStubs);
73 while (!all_of(
inputs.begin(),
inputs.end(), [](
const deque<StubPP*>& stubs) {
return stubs.empty(); })
or 74 !all_of(stacks.begin(), stacks.end(), [](
const deque<StubGP*>& stubs) {
return stubs.empty(); })) {
77 deque<StubGP*>&
stack = stacks[channel];
87 bool nothingToRoute(
true);
89 StubGP* stub =
pop_front(stacks[channel]);
91 nothingToRoute =
false;
92 acceptedSector.push_back(stub);
97 acceptedSector.push_back(
nullptr);
102 copy_if(
limit, acceptedSector.end(), back_inserter(lostSector), [](
const StubGP* stub) {
return stub; });
103 acceptedSector.erase(
limit, acceptedSector.end());
106 for (
auto it = acceptedSector.end(); it != acceptedSector.begin();)
107 it = (*--it) ? acceptedSector.begin() : acceptedSector.erase(it);
110 auto toFrame = [](StubGP* stub) {
return stub ? stub->frame() :
FrameStub(); };
111 stream.reserve(stubs.size());
115 put(acceptedSector, accepted[
index]);
int numSectorsPhi() const
std::pair< TTStubRef, Frame > FrameStub
const DataFormats * dataFormats_
std::vector< FrameStub > StreamStub
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
void put(edm::Event &evt, double value, const char *instanceName)
std::vector< std::vector< std::deque< StubPP * > > > input_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
T * pop_front(std::deque< T *> &ts) const
std::vector< StubGP > stubsGP_
int gpDepthMemory() const