Go to the documentation of this file.
12 : material_(
m), solid_(
s), cat_(
c), specifics_(0), hasDDValue_(1,
false) {}
25 if (!(
s.first &&
s.second)) {
27 std::cerr <<
"LogicalPart::addSpecific error pointer 0 " <<
s.first <<
"," <<
s.second << std::endl;
31 for (
const auto& it : *
s.second) {
32 unsigned int id = it.first;
44 unsigned int id =
v.id();
52 std::vector<std::pair<const DDPartSelection*, const DDsvalues_type*> >::iterator it =
58 std::vector<const DDsvalues_type*>
result;
66 if (ps.size() == 1 && ps[0].selectionType_ ==
ddanylogp) {
67 result.emplace_back(it.second);
80 std::vector<const DDsvalues_type*> unmerged;
82 if (unmerged.size() == 1) {
83 merged = *(unmerged[0]);
84 }
else if (unmerged.size() > 1) {
85 for (
const auto& it : unmerged) {
const DDSolid & solid() const
void mergedSpecificsV(DDsvalues_type &res) const
std::vector< bool > hasDDValue_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void specificsV(std::vector< const DDsvalues_type * > &result) const
const DDMaterial & material() const
DDEnums::Category category() const
DDMaterial is used to define and access material information.
bool hasDDValue(const DDValue &) const
std::vector< std::pair< const DDPartSelection *, const DDsvalues_type * > > specifics_
void stream(std::ostream &)
A DDSolid represents the shape of a part.
DDsvalues_type mergedSpecifics() const
def merge(dictlist, TELL=False)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::vector< const DDsvalues_type * > specifics() const
void removeSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type * > &)
void addSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type * > &)