#include <DDValue.h>
Classes | |
struct | AtomicUInt |
struct | StringHolder |
Only used internally. More... | |
Public Member Functions | |
DDValue (void) | |
create a unnamed emtpy value. One can assing a named DDValue to it. More... | |
DDValue (const std::string &) | |
create a named empty value More... | |
DDValue (const char *) | |
create a named empty value More... | |
DDValue (const std::string &, const std::vector< DDValuePair > &) | |
creates a named DDValue initialized with a std::vector of values More... | |
DDValue (const std::string &, double) | |
creates a single double valued named DDValue. The corresponding std::string-value is an empty std::string More... | |
DDValue (const std::string &, const std::string &, double) | |
DDValue (const std::string &name, const std::string &val) | |
DDValue (unsigned int) | |
const std::vector< double > & | doubles () const |
a reference to the double-valued values stored in the given instance of DDValue More... | |
unsigned int | id (void) const |
returns the ID of the DDValue More... | |
bool | isEvaluated (void) const |
true, if values are numerical evaluated; else false. More... | |
const std::string & | name (void) const |
the name of the DDValue More... | |
operator unsigned int (void) const | |
converts a DDValue object into its ID More... | |
bool | operator< (const DDValue &) const |
A DDValue a is smaller than a DDValue b if (a.id()<b.id()) OR (a.id()==b.id() and value(a)<value(b)) More... | |
bool | operator== (const DDValue &v) const |
Two DDValues are equal only if their id() is equal AND their values are equal. More... | |
DDValuePair | operator[] (unsigned int i) const |
void | setEvalState (bool newState) |
set to true, if the double-values (method DDValue::doubles()) make sense More... | |
unsigned int | size () const |
the size of the stored value-pairs (std::string,double) More... | |
const std::vector< std::string > & | strings () const |
a reference to the std::string-valued values stored in the given instance of DDValue More... | |
Private Types | |
using | Names = tbb::concurrent_vector< StringHolder, edm::zero_allocator< StringHolder >> |
using | NamesToIndicies = tbb::concurrent_unordered_map< std::string, AtomicUInt > |
using | vecpair_type = std::pair< bool, std::pair< std::vector< std::string >, std::vector< double >>> |
Private Member Functions | |
void | init (const std::string &) |
Static Private Member Functions | |
static NamesToIndicies & | indexer () |
static Names | initializeNames () |
static Names & | names () |
Private Attributes | |
unsigned int | id_ |
std::shared_ptr< vecpair_type > | vecPair_ |
A DDValue std::maps a std::vector of DDValuePair (std::string,double) to a name. Names of DDValues are stored transiently. Furthermore, an ID is assigned std::mapping to the name. Use DDValue::setEvalState(true) to indicate whether the double numbers stored in the DDValuePair make sense, otherwise an exception will be thrown when trying to get access to these values via DDValue::doubles() or DDValue::operator[].
|
private |
|
private |
|
private |
|
inline |
|
explicit |
|
explicit |
|
explicit |
creates a named DDValue initialized with a std::vector of values
Definition at line 46 of file DDValue.cc.
References init(), and vecPair_.
|
explicit |
creates a single double valued named DDValue. The corresponding std::string-value is an empty std::string
Definition at line 59 of file DDValue.cc.
References init(), setEvalState(), and vecPair_.
|
explicit |
creates a single std::string & numerical-valued named DDValue.
Definition at line 69 of file DDValue.cc.
References init(), setEvalState(), and vecPair_.
|
explicit |
creates a single std::string-valued named DDValue
Definition at line 78 of file DDValue.cc.
References init(), setEvalState(), and vecPair_.
|
explicit |
const std::vector< double > & DDValue::doubles | ( | void | ) | const |
a reference to the double-valued values stored in the given instance of DDValue
Definition at line 111 of file DDValue.cc.
References Exception, name(), AlCaHLTBitMon_QueryRunRegistry::string, and vecPair_.
Referenced by DDMapper< KeyType, ValueType >::all(), ME0GeometryParsFromDD::buildEtaPartition(), GEMGeometryParsFromDD::buildEtaPartition(), ME0GeometryBuilder::buildEtaPartition(), GEMGeometryBuilder::buildEtaPartition(), RPCGeometryBuilder::buildGeometry(), RPCGeometryParsFromDD::buildGeometry(), FastTimeParametersFromDD::getDDDArray(), EcalSimParametersFromDD::getDDDArray(), HcalSimParametersFromDD::getDDDArray(), HGCalParametersFromDD::getDDDArray(), MaterialBudgetHcalHistos::getDDDArray(), MaterialBudgetHcalProducer::getDDDArray(), HGCalGeomParameters::getDDDArray(), HGCalParametersFromDD::getDDDValue(), MuonGeometryNumbering::getInt(), DDG4Builder::getInt(), MuonOffsetFromDD::getNumber(), CaloSimParametersFromDD::getNumbers(), and DDMapper< KeyType, ValueType >::toDouble().
|
inline |
returns the ID of the DDValue
Definition at line 48 of file DDValue.h.
References id_.
Referenced by DDSpecificsHasNamedValueFilter::accept(), DDSpecificsMatchesValueFilter::accept(), DDI::LogicalPart::hasDDValue(), operator<(), and operator==().
|
staticprivate |
Definition at line 92 of file DDValue.cc.
Referenced by init().
|
private |
Definition at line 14 of file DDValue.cc.
References id_, indexer(), lastIndex, name(), names(), callgraph::previous, mps_fire::result, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by DDValue().
|
staticprivate |
Definition at line 97 of file DDValue.cc.
References names(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by names().
bool DDValue::isEvaluated | ( | void | ) | const |
true, if values are numerical evaluated; else false.
in case of a 'true' return value, the method DDValue::doubles() and the operator DDValue::operator[] can be used
Definition at line 152 of file DDValue.cc.
References vecPair_.
Referenced by operator<<(), DDCoreToDDXMLOutput::specpar(), and DDI::Specific::stream().
|
inline |
the name of the DDValue
Definition at line 54 of file DDValue.h.
Referenced by config.CFG::__str__(), geometryComparison.GeometryComparison::createScript(), validation.Sample::digest(), doubles(), primaryVertexResolution.PrimaryVertexResolution::getRepMap(), primaryVertexValidation.PrimaryVertexValidation::getRepMap(), zMuMuValidation.ZMuMuValidation::getRepMap(), init(), VIDSelectorBase.VIDSelectorBase::initialize(), operator<<(), operator[](), DDCoreToDDXMLOutput::specpar(), and DDI::Specific::stream().
|
staticprivate |
Definition at line 106 of file DDValue.cc.
References initializeNames().
Referenced by init(), initializeNames(), and name().
|
inline |
bool DDValue::operator< | ( | const DDValue & | v | ) | const |
A DDValue a is smaller than a DDValue b if (a.id()<b.id()) OR (a.id()==b.id() and value(a)<value(b))
Definition at line 168 of file DDValue.cc.
References cms::cuda::assert(), id(), mps_fire::result, and vecPair_.
bool DDValue::operator== | ( | const DDValue & | v | ) | const |
Two DDValues are equal only if their id() is equal AND their values are equal.
If the DDValue::isEvalued() == true, the numerical representation is taken for comparison, else the std::string representation
Definition at line 154 of file DDValue.cc.
References cms::cuda::assert(), id(), mps_fire::result, and vecPair_.
DDValuePair DDValue::operator[] | ( | unsigned int | i | ) | const |
access to the values stored in DDValue by an index. Note, that the index is not checked for bounds excess!
Definition at line 140 of file DDValue.cc.
References Exception, name(), AlCaHLTBitMon_QueryRunRegistry::string, and vecPair_.
void DDValue::setEvalState | ( | bool | newState | ) |
set to true, if the double-values (method DDValue::doubles()) make sense
Definition at line 150 of file DDValue.cc.
References vecPair_.
Referenced by DDValue(), and DDLSpecPar::processElement().
|
inline |
the size of the stored value-pairs (std::string,double)
Definition at line 68 of file DDValue.h.
References vecPair_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), DDMapper< KeyType, ValueType >::noSpecifics(), operator<<(), DDCoreToDDXMLOutput::specpar(), DDI::Specific::stream(), DDMapper< KeyType, ValueType >::toDouble(), and DDMapper< KeyType, ValueType >::toString().
|
inline |
a reference to the std::string-valued values stored in the given instance of DDValue
Definition at line 61 of file DDValue.h.
References vecPair_.
Referenced by DDSpecificsMatchesValueFilter::accept(), DDMapper< KeyType, ValueType >::all(), DTGeometryBuilderFromDDD::buildGeometry(), DTGeometryParsFromDD::buildGeometry(), dddGetStringRaw(), DDG4Builder::getDouble(), CaloSimParametersFromDD::getNames(), ExtractStringFromDDD< FilteredView >::getString(), ExtractStringFromDD< FilteredView >::getString(), DDG4SensitiveConverter::getString(), EcalSimParametersFromDD::getStringArray(), operator<<(), DDCoreToDDXMLOutput::specpar(), DDI::Specific::stream(), and DDMapper< KeyType, ValueType >::toString().
|
private |
|
private |
Definition at line 120 of file DDValue.h.
Referenced by DDValue(), doubles(), isEvaluated(), operator<(), operator==(), operator[](), setEvalState(), size(), and strings().