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) {
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) {
DDsvalues_type mergedSpecifics() const
const DDMaterial & material() const
int merge(int argc, char *argv[])
void specificsV(std::vector< const DDsvalues_type *> &result) const
DDMaterial is used to define and access material information.
std::vector< const DDsvalues_type * > specifics() const
const DDSolid & solid() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
A DDSolid represents the shape of a part.
void mergedSpecificsV(DDsvalues_type &res) const
std::vector< bool > hasDDValue_
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
void removeSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type *> &)
void stream(std::ostream &)
DDEnums::Category category() const
bool hasDDValue(const DDValue &) const
std::vector< std::pair< const DDPartSelection *, const DDsvalues_type * > > specifics_
void addSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type *> &)