1 #ifndef RecoPixelVertexing_PixelTriplets_IntermediateHitTriplets_h 2 #define RecoPixelVertexing_PixelTriplets_IntermediateHitTriplets_h 25 SeedingLayerSetsHits::LayerIndex>;
28 SeedingLayerSetsHits::LayerIndex>;
77 using TripletRange = std::pair<std::vector<OrderedHitTriplet>::const_iterator,
78 std::vector<OrderedHitTriplet>::const_iterator>;
124 regionLayerSets_(regionLayerSets),
171 layerSetsBegin_(tripletBegin), layerSetsEnd_(tripletEnd)
179 if(layerSetsBegin_ != layerSetsEnd_)
215 bool valid()
const {
return obj_ !=
nullptr; }
220 const std::vector<SeedingLayerSetsHits::SeedingLayer>& thirdLayers,
222 const std::vector<int>& thirdLayerIndex,
223 const std::vector<size_t>& permutations) {
224 assert(triplets.
size() == thirdLayerIndex.size());
225 assert(triplets.
size() == permutations.size());
227 if(triplets.empty()) {
232 for(
size_t i=0,
size=permutations.size();
i<
size; ++
i) {
236 const size_t realIndex = permutations[
i];
238 const int layer = thirdLayerIndex[realIndex];
239 if(layer != prevLayer) {
241 obj_->layerTriplets_.emplace_back(
LayerTriplet(std::get<0>(layerPair), std::get<1>(layerPair), thirdLayers[layer].
index()), obj_->hitTriplets_.size());
244 obj_->hitTriplets_.emplace_back(triplets[realIndex]);
245 obj_->layerTriplets_.back().setTripletsEnd(obj_->hitTriplets_.size());
248 obj_->regions_.back().setLayerSetsEnd(obj_->layerTriplets_.size());
266 void reserve(
size_t nregions,
size_t nlayersets,
size_t ntriplets) {
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)