1 #ifndef RecoPixelVertexing_PixelTriplets_IntermediateHitTriplets_h 2 #define RecoPixelVertexing_PixelTriplets_IntermediateHitTriplets_h 24 using LayerPair = std::tuple<SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex>;
26 std::tuple<SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex>;
71 std::pair<std::vector<OrderedHitTriplet>::const_iterator, std::vector<OrderedHitTriplet>::const_iterator>;
116 : hitSets_(hitSets), regionLayerSets_(regionLayerSets), iter_(regionLayerSets->
layerSetsBegin()) {
155 : region_(region), cache_(cache), hitSets_(hitSets), layerSetsBegin_(tripletBegin), layerSetsEnd_(tripletEnd) {}
162 if (layerSetsBegin_ != layerSetsEnd_)
198 bool valid()
const {
return obj_ !=
nullptr; }
203 const std::vector<SeedingLayerSetsHits::SeedingLayer> &thirdLayers,
205 const std::vector<int> &thirdLayerIndex,
206 const std::vector<size_t> &permutations) {
207 assert(triplets.
size() == thirdLayerIndex.size());
208 assert(triplets.
size() == permutations.size());
210 if (triplets.empty()) {
215 for (
size_t i = 0,
size = permutations.size();
i <
size; ++
i) {
219 const size_t realIndex = permutations[
i];
221 const int layer = thirdLayerIndex[realIndex];
222 if (layer != prevLayer) {
224 obj_->layerTriplets_.emplace_back(
225 LayerTriplet(std::get<0>(layerPair), std::get<1>(layerPair), thirdLayers[layer].
index()),
226 obj_->hitTriplets_.size());
229 obj_->hitTriplets_.emplace_back(triplets[realIndex]);
230 obj_->layerTriplets_.back().setTripletsEnd(obj_->hitTriplets_.size());
233 obj_->regions_.back().setLayerSetsEnd(obj_->layerTriplets_.size());
252 void reserve(
size_t nregions,
size_t nlayersets,
size_t ntriplets) {
291 std::vector<PLayerHitTriplets>
Container::value_type value_type
bool operator==(const QGLikelihoodParameters &lhs, const QGLikelihoodCategory &rhs)
Test if parameters are compatible with category.
unsigned int size() const override
unsigned short LayerIndex
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)