CMS 3D CMS Logo

Classes | Namespaces | Functions | Variables
getThinned_implementation.h File Reference
#include <algorithm>
#include <cassert>
#include <functional>
#include <optional>
#include <tuple>
#include <variant>
#include <limits>
#include "DataFormats/Common/interface/ThinnedAssociation.h"
#include "DataFormats/Provenance/interface/BranchID.h"
#include "DataFormats/Provenance/interface/ProductID.h"
#include "DataFormats/Provenance/interface/ThinnedAssociationsHelper.h"
#include "FWCore/Utilities/interface/EDMException.h"

Go to the source code of this file.

Classes

class  edm::detail::ThinnedOrSlimmedProduct
 

Namespaces

 edm
 HLT enums.
 
 edm::detail
 

Functions

template<typename F >
std::variant< unsigned int, GetThinnedKeyFromExceptionFactory, std::monostate > edm::detail::getThinnedKeyFrom_implementation (ProductID const &parentID, BranchID const &parent, unsigned int key, ProductID const &thinnedID, BranchID thinned, ThinnedAssociationsHelper const &thinnedAssociationsHelper, F &&getThinnedAssociation)
 
template<typename F1 , typename F2 , typename F3 >
std::optional< std::tuple< WrapperBase const *, unsigned int > > edm::detail::getThinnedProduct (ProductID const &pid, unsigned int key, ThinnedAssociationsHelper const &thinnedAssociationsHelper, F1 pidToBid, F2 getThinnedAssociation, F3 getByProductID)
 
template<typename F1 , typename F2 , typename F3 >
ThinnedOrSlimmedProduct edm::detail::getThinnedProductOnSlimmingDepth (ProductID const &pid, unsigned int key, ThinnedAssociationsHelper const &thinnedAssociationsHelper, F1 pidToBid, F2 getThinnedAssociation, F3 getByProductID)
 
template<typename F1 , typename F2 , typename F3 >
void edm::detail::getThinnedProducts (ProductID const &pid, ThinnedAssociationsHelper const &thinnedAssociationsHelper, F1 pidToBid, F2 getThinnedAssociation, F3 getByProductID, std::vector< WrapperBase const *> &foundContainers, std::vector< unsigned int > &keys)
 
template<typename F1 , typename F2 , typename F3 >
std::optional< std::tuple< ThinnedAssociation const *, std::vector< unsigned int > > > edm::detail::getThinnedProductsOnSlimmingDepth (ProductID const &pid, ThinnedAssociationsHelper const &thinnedAssociationsHelper, F1 pidToBid, F2 getThinnedAssociation, F3 getByProductID, std::vector< WrapperBase const *> &foundContainers, std::vector< unsigned int > &keys)
 
auto edm::detail::makeThinnedIndexes (std::vector< unsigned int > const &keys, std::vector< WrapperBase const *> const &foundContainers, ThinnedAssociation const *thinnedAssociation)
 

Variables

constexpr unsigned int edm::detail::kThinningDoNotLookForThisIndex = std::numeric_limits<unsigned int>::max()