14 : material_(m), solid_(s), cat_(c), weight_(0), specifics_(0), hasDDValue_(1,
false)
32 if ( ! (s.first && s.second) ) {
34 std::cerr <<
"LogicalPart::addSpecific error pointer 0 "
35 << s.first <<
"," << s.second << std::endl;
39 DDsvalues_type::const_iterator it = s.second->begin();
40 DDsvalues_type::const_iterator ed = s.second->end();
41 for (; it != ed; ++it) {
42 unsigned int id = it->first;
51 DCOUT(
'S',
"hasValue_.size()=" <<
hasDDValue_.size() <<
" DDValue_id=" <<
id << std::flush
52 <<
" DDValue_name=" <<
DDValue(
id).
name() << std::flush
60 unsigned int id = v.
id();
69 std::vector<std::pair<const DDPartSelection*, const DDsvalues_type* > >::iterator it =
77 std::vector<const DDsvalues_type*>
result;
85 typedef std::vector<std::pair<const DDPartSelection*, const DDsvalues_type* > > sp_type;
86 sp_type::const_iterator it =
specifics_.begin();
88 for (; it != ed; ++it) {
90 if (ps.size()==1 && ps[0].selectionType_==
ddanylogp) {
91 result.push_back(it->second);
105 std::vector<const DDsvalues_type *> unmerged;
specificsV(unmerged);
106 if (unmerged.size()==1) {
107 merged = *(unmerged[0]);
109 else if (unmerged.size()>1) {
110 std::vector<const DDsvalues_type *>::const_iterator it = unmerged.begin();
111 std::vector<const DDsvalues_type *>::const_iterator ed = unmerged.end();
112 for (; it != ed; ++it) {
const std::string & name(void) const
the name of the DDValue
std::vector< std::pair< const DDPartSelection *, const DDsvalues_type * > > specifics_
DDMaterial is used to define and access material information.
DDEnums::Category category() const
void removeSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type * > &)
void addSpecifics(const std::pair< const DDPartSelection *, const DDsvalues_type * > &)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
unsigned int id(void) const
returns the ID of the DDValue
A DDSolid represents the shape of a part.
std::vector< bool > hasDDValue_
const DDMaterial & material() const
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
void stream(std::ostream &)
std::vector< const DDsvalues_type * > specifics() const
bool hasDDValue(const DDValue &) const
const std::vector< std::string > & strings() const
a reference to the std::string-valued values stored in the given instance of DDValue ...
void mergedSpecificsV(DDsvalues_type &res) const
const DDSolid & solid() const
volatile std::atomic< bool > shutdown_flag false
DDsvalues_type mergedSpecifics() const
#define DCOUT(M_v_Y, M_v_S)
void specificsV(std::vector< const DDsvalues_type * > &result) const