17 os <<
"DDConstant name=" << cons.
name();
20 os <<
" val=" << cons.
value();
22 os <<
" constant is not yet defined, only declared.";
29 const auto& vals = eval.
values();
30 if (
vars.size() != vals.size()) {
32 <<
"DDConstants::createConstansFromEvaluator(): different size of variable names & values!";
34 for (
const auto& it :
vars) {
35 auto found = it.find(
"___");
double value() const
return the first stored value; does not check boundaries!
const std::vector< std::string > & variables() const
access to the clhep-implementation of the dictionary variables
DDName is used to identify DDD entities uniquely.
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
const DDName & name() const
DDConstant()
an uninitialized constant; one can assign an initialized constant to make it valid ...
static void createConstantsFromEvaluator(ClhepEvaluator &)
creates all DDConstants from the variables of the ClhepEvaluator
double eval(const std::string &ns, const std::string &expr)
a named constant corresponding to the DDL-XML tag <Constant> and <ConstantsVector> ...
def_type isDefined() const
const std::vector< std::string > & values() const
std::ostream & operator<<(std::ostream &os, const DDConstant &cons)
output operator for printing ...
void create(const DDName &name, std::unique_ptr< double > vals)