#include <DetGroupMerger.h>
Definition at line 7 of file DetGroupMerger.h.
void DetGroupMerger::addSameLevel |
( |
std::vector< DetGroup > && |
gvec, |
|
|
std::vector< DetGroup > & |
result |
|
) |
| |
|
static |
void DetGroupMerger::doubleIndexSize |
( |
std::vector< DetGroup > & |
vec | ) |
|
|
static |
Definition at line 76 of file DetGroupMerger.cc.
References mps_fire::i.
77 int indSize = vec.front().indexSize();
78 for (vector<DetGroup>::iterator
i = vec.begin();
i != vec.end();
i++) {
79 i->setIndexSize(2 * indSize);
void DetGroupMerger::incrementAndDoubleSize |
( |
std::vector< DetGroup > & |
vec | ) |
|
|
static |
Definition at line 83 of file DetGroupMerger.cc.
References mps_fire::i.
84 int indSize = vec.front().indexSize();
85 for (vector<DetGroup>::iterator
i = vec.begin();
i != vec.end();
i++) {
86 i->incrementIndex(indSize);
void DetGroupMerger::mergeTwoLevels |
( |
std::vector< DetGroup > && |
one, |
|
|
std::vector< DetGroup > && |
two, |
|
|
std::vector< DetGroup > & |
result |
|
) |
| |
|
static |
Definition at line 31 of file DetGroupMerger.cc.
References eostools::move().
34 int indSize1 =
one.front().indexSize();
35 int indSize2 = two.front().indexSize();
37 for (
auto&& dg :
one) {
39 result.back().setIndexSize(indSize1 + indSize2);
41 for (
auto&& dg : two) {
43 result.back().incrementIndex(indSize1);
void DetGroupMerger::orderAndMergeTwoLevels |
( |
std::vector< DetGroup > && |
one, |
|
|
std::vector< DetGroup > && |
two, |
|
|
std::vector< DetGroup > & |
result, |
|
|
int |
firstIndex, |
|
|
int |
firstCrossed |
|
) |
| |
|
static |
Definition at line 6 of file DetGroupMerger.cc.
References eostools::move().
Referenced by PixelForwardLayer::groupedCompatibleDetsV(), PixelForwardLayerPhase1::groupedCompatibleDetsV(), TECLayer::groupedCompatibleDetsV(), TBLayer::groupedCompatibleDetsV(), CompositeTECWedge::groupedCompatibleDetsV(), TIBRing::groupedCompatibleDetsV(), TIDRing::groupedCompatibleDetsV(), Phase2EndcapLayer::groupedCompatibleDetsV(), TOBRod::groupedCompatibleDetsV(), PixelBlade::groupedCompatibleDetsV(), Phase2EndcapRing::groupedCompatibleDetsV(), Phase1PixelBlade::groupedCompatibleDetsV(), Phase2OTBarrelRod::groupedCompatibleDetsV(), and CompositeTECPetal::groupedCompatibleDetsV().
8 if (
one.empty() && two.empty())
13 if (firstIndex == firstCrossed)
17 }
else if (two.empty()) {
19 if (firstIndex == firstCrossed)
24 if (firstIndex == firstCrossed)
static void incrementAndDoubleSize(std::vector< DetGroup > &vec)
static void mergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result)
static void doubleIndexSize(std::vector< DetGroup > &vec)