66 for(
auto const& spec:
specs) {
68 for(
auto const&
v: *(spec.second) ) {
69 if(it->nameVal_.id() ==
v.first) {
73 locres= (it->nameVal_.strings() ==
v.second.strings());
78 locres= ( it->nameVal_.strings() !=
v.second.strings() );
112 for(
auto const& spec:
specs) {
113 for(
auto const&
v: *(spec.second) ) {
114 if(attribute_.id() ==
v.first) {
141 for(
auto const& spec:
specs) {
142 for(
auto const&
v: *(spec.second) ) {
143 if(value_.id() ==
v.first) {
145 return (value_.strings() ==
v.second.strings());
bool accept(const DDExpandedView &) const final
true, if the DDExpandedNode fulfills the filter criteria
bool hasDDValue(const DDValue &) const
compares a given geometrical-history whether it corresponds to the given part-selector ...
bool accept_impl(const DDExpandedView &) const
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
std::vector< SpecificCriterion > criteria_
void setCriteria(const DDValue &nameVal, DDCompOp)
bool accept(const DDExpandedView &) const final
true, if the DDExpandedNode fulfills the filter criteria
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
DDCompOp
comparison operators to be used with this filter
A Filter accepts or rejects a DDExpandedNode based on a user-coded decision rule. ...
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the expanded-view.
~DDSpecificsFilter() override
const std::vector< std::pair< const DDPartSelection *, const DDsvalues_type * > > & attachedSpecifics(void) const
Provides an exploded view of the detector (tree-view)
bool accept(const DDExpandedView &) const final
true, if the DDExpandedNode fulfills the filter criteria