CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Typedefs | Functions
edm::detail Namespace Reference

Classes

class  CachedProducts
 
class  CPCSentry
 
struct  empty
 
struct  Empty
 
struct  FillViewRefTypeTrait
 
struct  FillViewRefTypeTrait< RefVector< C, T, F >, T1, F1 >
 
struct  GetProduct
 
struct  GetProduct< RefVector< C, T, F > >
 
struct  has_donotrecordparents
 
struct  has_isProductEqual_function
 
struct  has_mergeProduct_function
 
struct  has_postinsert
 
struct  has_swap_function
 
struct  isProductEqual_function
 
struct  mergeProduct_function
 
class  NamedEventSelector
 
struct  postinsert_function
 
struct  swap_function
 
class  ThreadSafeIndexedRegistry
 
class  ThreadSafeRegistry
 

Typedefs

typedef edm::Handle
< edm::TriggerResults
handle_t
 
typedef detail::NamedEventSelector NES
 
typedef char(& no_tag )[1]
 
typedef char(& yes_tag )[2]
 

Functions

void _throw_range (det_id_type i)
 
template<typename T >
no_tag has_isProductEqual_helper (...)
 
template<typename T >
yes_tag has_isProductEqual_helper (isProductEqual_function< T,&T::isProductEqual > *dummy)
 
template<typename T >
no_tag has_mergeProduct_helper (...)
 
template<typename T >
yes_tag has_mergeProduct_helper (mergeProduct_function< T,&T::mergeProduct > *dummy)
 
template<typename T >
no_tag has_postinsert_helper (...)
 
template<typename T >
yes_tag has_postinsert_helper (postinsert_function< T,&T::post_insert > *p)
 
template<typename T >
no_tag has_swap_helper (...)
 
template<typename T >
yes_tag has_swap_helper (swap_function< T,&T::swap > *dummy)
 
std::string const & InvalidHash ()
 
bool isnan (float x)
 
bool isnan (double x)
 
bool isnan (long double x)
 
template<typename T , typename E >
std::ostream & operator<< (std::ostream &os, ThreadSafeIndexedRegistry< T, E > const &reg)
 
template<typename KEY , typename T , typename E >
std::ostream & operator<< (std::ostream &os, ThreadSafeRegistry< KEY, T, E > const &reg)
 
template<class COLLECTION >
void reallyfillPtrVector (COLLECTION const &coll, const std::type_info &iToType, const std::vector< unsigned long > &iIndicies, std::vector< void const * > &oPtr)
 
template<class COLLECTION >
void reallyFillView (COLLECTION const &coll, ProductID const &id, std::vector< void const * > &ptrs, helper_vector &helpers)
 
template<class COLLECTION >
void reallySetPtr (COLLECTION const &coll, const std::type_info &iToType, unsigned long iIndex, void const *&oPtr)
 

Typedef Documentation

Definition at line 24 of file CachedProducts.h.

Definition at line 12 of file CachedProducts.cc.

typedef char(& edm::detail::no_tag

Definition at line 233 of file Wrapper.h.

typedef char(& edm::detail::yes_tag

Definition at line 234 of file Wrapper.h.

Function Documentation

void edm::detail::_throw_range ( det_id_type  i)
inline

Definition at line 70 of file DetSetVector.h.

References edm::errors::InvalidReference, and edm::Exception::throwThis().

Referenced by edm::DetSetVector< T >::operator[]().

70  {
71  Exception::throwThis(errors::InvalidReference,
72  "DetSetVector::operator[] called with index not in collection;\nindex value: ", i);
73  }
int i
Definition: DBlmapReader.cc:9
template<typename T >
no_tag edm::detail::has_isProductEqual_helper (   ...)
template<typename T >
yes_tag edm::detail::has_isProductEqual_helper ( isProductEqual_function< T,&T::isProductEqual > *  dummy)
template<typename T >
no_tag edm::detail::has_mergeProduct_helper (   ...)
template<typename T >
yes_tag edm::detail::has_mergeProduct_helper ( mergeProduct_function< T,&T::mergeProduct > *  dummy)
template<typename T >
no_tag edm::detail::has_postinsert_helper (   ...)
template<typename T >
yes_tag edm::detail::has_postinsert_helper ( postinsert_function< T,&T::post_insert > *  p)
template<typename T >
no_tag edm::detail::has_swap_helper (   ...)
template<typename T >
yes_tag edm::detail::has_swap_helper ( swap_function< T,&T::swap > *  dummy)
std::string const & edm::detail::InvalidHash ( )

Definition at line 9 of file Hash.cc.

References cms::MD5Result::compactForm(), and align::invalid.

Referenced by edm::hash_detail::isValid_(), and edm::Hash< I >::reset().

9  {
10  static std::string const invalid = cms::MD5Result().compactForm();
11  return invalid;
12  }
std::string compactForm() const
Definition: Digest.cc:102
bool edm::detail::isnan ( float  x)
inline

Definition at line 13 of file math.h.

References GET_FLOAT_WORD.

Referenced by CaloHitResponse::add(), ElectronCalibration::analyze(), ElectronCalibrationUniv::analyze(), Vx3DHLTAnalyzer::analyze(), PrimaryVertexAnalyzer4PU::analyzeVertexCollection(), DetIdAssociator::buildMap(), GsfVertexWeightCalculator::calculate(), TwoBodyDecayEstimator::checkValues(), RoadSearchTrackCandidateMakerAlgorithm::createSeedTrajectory(), CaloRecoTauDiscriminationAgainstElectron::discriminate(), SiPixelGainCalibrationAnalysis::doFits(), HLTScalersClient::endLuminosityBlock(), MagGeometry::fieldInTesla(), AlignmentExtendedCorrelationsStore::fillCovariance(), AlignmentExtendedCorrelationsStore::fillCovarianceT(), MatrixFillMap::fillEBMap(), MatrixFillMap::fillEEMap(), ClusterFillMap::fillMap(), reco::tau::RecoTauMVAHelper::fillValues(), DivisiveVertexFinder::findVertexes(), DivisiveVertexFinder::findVertexesAlt(), BSFitter::Fit(), sim::Field::GetFieldValue(), SequentialVertexFitter< 5 >::hasNan(), ConversionFastHelix::helixStateAtVertex(), RoadSearchTrackCandidateMakerAlgorithm::initialTrajectoryFromTriplet(), cms::SubEventGenJetProducer::inputTowers(), VirtualJetProducer::inputTowers(), edm::isnan(), GlobalTrackQualityProducer::kink(), OptOCOPS::makeMeasurement(), Vx3DHLTAnalyzer::MyFit(), SensitiveDetector::NaNTrap(), TtHadLRSignalSelObservables::operator()(), TtSemiLRSignalSelObservables::operator()(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit(), IMACalibBlock::riempiMtr(), IMACalibBlock::riempiVtr(), HcalSiPMHitResponse::run(), CaloHitRespoNew::run(), SeedGeneratorForCosmics::seeds(), SimpleCosmicBONSeeder::seeds(), ConversionFastHelix::straightLineStateAtVertex(), KinematicConstrainedVertexUpdator::update(), PrimaryVertexMonitor::vertexPlots(), and HcalPedestalMCWidths::~HcalPedestalMCWidths().

14  {
15  u_int32_t wx;
16 
17  GET_FLOAT_WORD (wx, x);
18  wx &= 0x7fffffff;
19  return (bool)(wx > 0x7f800000);
20  }
#define GET_FLOAT_WORD(i, d)
Definition: math_private.h:58
bool edm::detail::isnan ( double  x)
inline

Definition at line 22 of file math.h.

References EXTRACT_WORDS.

23  {
24  u_int32_t hx, lx;
25 
26  EXTRACT_WORDS (hx, lx, x);
27  lx |= hx & 0xfffff;
28  hx &= 0x7ff00000;
29  return (bool)(hx == 0x7ff00000) && (lx != 0);
30  }
#define EXTRACT_WORDS(ix0, ix1, d)
Definition: math_private.h:66
bool edm::detail::isnan ( long double  x)
inline

Definition at line 32 of file math.h.

References GET_LDOUBLE_WORDS.

33  {
34  u_int32_t ex, hx, lx;
35 
36  GET_LDOUBLE_WORDS (ex, hx, lx, x);
37  ex &= 0x7fff;
38  return (bool)((ex == 0x7fff) && ((hx & 0x7fffffff) | lx));
39  }
#define GET_LDOUBLE_WORDS(exp, ix0, ix1, d)
Definition: math_private.h:75
template<typename T , typename E >
std::ostream& edm::detail::operator<< ( std::ostream &  os,
ThreadSafeIndexedRegistry< T, E > const &  reg 
)
inline

Definition at line 97 of file ThreadSafeIndexedRegistry.h.

97  {
98  reg.print(os);
99  return os;
100  }
template<typename KEY , typename T , typename E >
std::ostream& edm::detail::operator<< ( std::ostream &  os,
ThreadSafeRegistry< KEY, T, E > const &  reg 
)
inline

Definition at line 121 of file ThreadSafeRegistry.h.

121  {
122  reg.print(os);
123  return os;
124  }
template<class COLLECTION >
void edm::detail::reallyfillPtrVector ( COLLECTION const &  coll,
const std::type_info &  iToType,
const std::vector< unsigned long > &  iIndicies,
std::vector< void const * > &  oPtr 
)

Definition at line 36 of file fillPtrVector.h.

References edm::detail::GetProduct< COLLECTION >::address(), edm::errors::LogicError, AlCaRecoCosmics_cfg::name, VarParsing::obj, and edm::Exception::throwThis().

Referenced by edm::fillPtrVector(), edm::SortedCollection< T, SORT >::fillPtrVector(), and edm::OwnVector< T, P >::fillPtrVector().

40  {
41  typedef COLLECTION product_type;
42  typedef typename GetProduct<product_type>::element_type element_type;
43  typedef typename product_type::const_iterator iter;
44  typedef typename product_type::size_type size_type;
45 
46  oPtr.reserve(iIndicies.size());
47  if(iToType == typeid(element_type)) {
48  for(std::vector<unsigned long>::const_iterator itIndex=iIndicies.begin(),
49  itEnd = iIndicies.end();
50  itIndex != itEnd;
51  ++itIndex) {
52  iter it = coll.begin();
53  std::advance(it,*itIndex);
54  element_type const* address = GetProduct<product_type>::address( it );
55  oPtr.push_back(address);
56  }
57  } else {
58  using Reflex::Type;
59  using Reflex::Object;
60  static const Type s_type(Type::ByTypeInfo(typeid(element_type)));
61  Type toType=Type::ByTypeInfo(iToType);
62 
63  for(std::vector<unsigned long>::const_iterator itIndex=iIndicies.begin(),
64  itEnd = iIndicies.end();
65  itIndex != itEnd;
66  ++itIndex) {
67  iter it = coll.begin();
68  std::advance(it,*itIndex);
69  element_type const* address = GetProduct<product_type>::address( it );
70  // The const_cast below is needed because
71  // Object's constructor requires a pointer to
72  // non-const void, although the implementation does not, of
73  // course, modify the object to which the pointer points.
74  Object obj(s_type, const_cast<void*>(static_cast<const void*>(address)));
75  Object cast = obj.CastObject(toType);
76  if(0 != cast.Address()) {
77  oPtr.push_back(cast.Address());// returns void*, after pointer adjustment
78  } else {
79  Exception::throwThis(errors::LogicError,
80  "TypeConversionError "
81  "edm::PtrVector<> : unable to convert type ",
82  typeid(element_type).name(),
83  " to ",
84  iToType.name(),
85  "\n");
86  }
87 
88  }
89  }
90  }
char * address
Definition: mlp_lapack.h:14
uint16_t size_type
tuple obj
Example code starts here #.
Definition: VarParsing.py:655
JetCorrectorParametersCollection coll
Definition: classes.h:14
template<class COLLECTION >
void edm::detail::reallyFillView ( COLLECTION const &  coll,
ProductID const &  id,
std::vector< void const * > &  ptrs,
helper_vector &  helpers 
)

Definition at line 49 of file FillView.h.

References edm::detail::GetProduct< COLLECTION >::address(), ExpressReco_HICollisions_FallBack::e, h, i, combine::key, edm::reftobase::RefVectorHolderBase::push_back(), edm::reftobase::RefVectorHolderBase::reserve(), edm::reftobase::RefVectorHolderBase::size(), and relativeConstraints::value.

Referenced by edm::fillView(), edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::fillView(), edm::SortedCollection< T, SORT >::fillView(), edm::DetSetVector< T >::fillView(), edm::reftobase::RefVectorHolder< REFV >::reallyFillView(), edm::reftobase::RefVectorHolderDoFillView< REFV >::reallyFillView(), and edm::RefToBaseProd< T >::RefToBaseProd().

53  {
54  typedef COLLECTION product_type;
55  typedef typename GetProduct<product_type>::element_type element_type;
56  typedef typename product_type::const_iterator iter;
57  typedef typename product_type::size_type size_type;
58  typedef typename FillViewRefTypeTrait<product_type,
60  typename refhelper::FindTrait<product_type,
61  typename refhelper::ValueTrait<product_type>::value>::value>::type ref_type;
62  typedef reftobase::RefHolder<ref_type> holder_type;
63 
64  ptrs.reserve(ptrs.size() + coll.size());
65  helpers.reserve(helpers.size() + coll.size());
66  size_type key = 0;
67  for (iter i = coll.begin(), e = coll.end(); i!=e; ++i, ++key) {
68  element_type const* address = GetProduct<product_type>::address(i);
69  ptrs.push_back(address);
70  ref_type ref(id, address, key, GetProduct<product_type>::product(coll) );
71  holder_type h(ref);
72  helpers.push_back(&h);
73  }
74  }
type
Definition: HCALResponse.h:22
int i
Definition: DBlmapReader.cc:9
char * address
Definition: mlp_lapack.h:14
uint16_t size_type
JetCorrectorParametersCollection coll
Definition: classes.h:14
list key
Definition: combine.py:13
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
template<class COLLECTION >
void edm::detail::reallySetPtr ( COLLECTION const &  coll,
const std::type_info &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
)

Definition at line 36 of file setPtr.h.

References edm::detail::GetProduct< COLLECTION >::address(), edm::errors::LogicError, AlCaRecoCosmics_cfg::name, VarParsing::obj, and edm::Exception::throwThis().

Referenced by edm::setPtr(), and edm::SortedCollection< T, SORT >::setPtr().

40  {
41  typedef COLLECTION product_type;
42  typedef typename GetProduct<product_type>::element_type element_type;
43  typedef typename product_type::const_iterator iter;
44  typedef typename product_type::size_type size_type;
45 
46  if(iToType == typeid(element_type)) {
47  iter it = coll.begin();
48  std::advance(it,iIndex);
49  element_type const* address = GetProduct<product_type>::address( it );
50  oPtr = address;
51  } else {
52  using Reflex::Type;
53  using Reflex::Object;
54  static const Type s_type(Type::ByTypeInfo(typeid(element_type)));
55 
56  iter it = coll.begin();
57  std::advance(it,iIndex);
58  element_type const* address = GetProduct<product_type>::address( it );
59 
60  // The const_cast below is needed because
61  // Object's constructor requires a pointer to
62  // non-const void, although the implementation does not, of
63  // course, modify the object to which the pointer points.
64  Object obj(s_type, const_cast<void*>(static_cast<const void*>(address)));
65  Object cast = obj.CastObject(Type::ByTypeInfo(iToType));
66  if(0 != cast.Address()) {
67  oPtr = cast.Address(); // returns void*, after pointer adjustment
68  } else {
69  Exception::throwThis(errors::LogicError,
70  "TypeConversionError"
71  "edm::Ptr<> : unable to convert type ",
72  typeid(element_type).name(),
73  " to ",
74  iToType.name(),
75  "\n");
76  }
77  }
78  }
char * address
Definition: mlp_lapack.h:14
uint16_t size_type
tuple obj
Example code starts here #.
Definition: VarParsing.py:655
JetCorrectorParametersCollection coll
Definition: classes.h:14