22 os <<
"LogicalPart: " << lp <<
" is not defined!" << std::endl;
27 os <<
"LogicalPart: " << lp <<
"| no solid defined, solid=" 28 << lp.
solid() << std::endl;
31 os <<
"LogicalPart: " << lp <<
"| solid not init, solid=" 32 << lp.
solid() << std::endl;
36 os <<
"LogicalPart: " << lp <<
"| no material defined, material=" 52 if (nb.first != nb.second) {
53 for (; nb.first != nb.second; ++(nb.first)) {
54 if (! nb.first->second ) {
55 edm::LogInfo (
"DDCheck") <<
"PosData of LogicalPart " << lp.
name() <<
" missing." << std::endl;
56 edm::LogInfo (
"DDCheck") <<
" the LogicalPart is meant to be a daughter volume, but its position is missing!" << std::endl;
63 os <<
"Rotationmatrix is not defined: " << r << std::endl;
75 os << std::endl <<
"Checking connectivity of CompactView:" << std::endl;
82 std::map<DDLogicalPart,bool>
visited;
84 visited[wkr.current().first]=
true;
87 visited[wkr.current().first]=
true;
89 os <<
" CompactView has " << visited.size()
90 <<
" (multiple-)connected LogicalParts with root=" << cpv.
root().
ddname() << std::endl;
98 for(; it < g.
size(); ++it) {
105 os <<
" There were " << uc <<
" unconnected nodes found." << std::endl << std::endl;
108 os <<
" ****************************************************************************" << std::endl;
109 os <<
" WARNING: The geometrical hierarchy may not be complete. " << std::endl
110 <<
" Expect unpredicted behaviour using DDCore/interface (i.e. SEGFAULT)" 112 os <<
" ****************************************************************************" << std::endl;
128 std::map< std::pair<std::string,std::string>,
int > lp_names;
131 for(; it < g.
size(); ++it) {
136 for(
const auto& mit : lp_names ) {
138 os <<
"interesting: " << mit.first.first <<
":" << mit.first.second
139 <<
" counted " << mit.second <<
" times!" << std::endl;
140 os <<
" Names of LogicalParts seem not to be unique!" << std::endl << std::endl;
147 for(it=0; it < g.
size(); ++it) {
165 os <<
"DDCore: start comprehensive checking" << std::endl;
171 os <<
"DDCore: end of comprehensive checking" << std::endl;
174 edm::LogError(
"DDCheck") << std::endl <<
"DDD:DDCore:DDCheck: found inconsistency problems!" << std::endl;
183 os <<
"DDCore: start comprehensive checking" << std::endl;
189 os <<
"DDCore: end of comprehensive checking" << std::endl;
192 edm::LogError(
"DDCheck") << std::endl <<
"DDD:DDCore:DDCheck: found inconsistency problems!" << std::endl;
def_type isDefined() const
edge_range edges(index_type nodeIndex)
bool DDCheck(std::ostream &os)
bool DDCheckLP(const DDLogicalPart &lp, std::ostream &os)
const std::string & ns() const
Returns the namespace.
const DDSolid & solid(void) const
Returns a reference object of the solid being the shape of this LogicalPart.
Compact representation of the geometrical detector hierarchy.
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Represents a uniquely identifyable rotation matrix.
std::pair< edge_iterator, edge_iterator > edge_range
const N & nodeData(const edge_type &) const
const E & edgeData(index_type i) const
const DDRotation & ddrot() const
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
DDSolidShape shape(void) const
The type of the solid.
bool DDCheckConnect(const DDCompactView &cpv, std::ostream &os)
const Graph & graph() const
Provides read-only access to the data structure of the compact-view.
bool DDCheckAll(const DDCompactView &cpv, std::ostream &os)
auto size() const -> adj_list::size_type
const DDLogicalPart & root() const
returns the DDLogicalPart representing the root of the geometrical hierarchy
bool DDCheckPD(const DDLogicalPart &lp, DDCompactView::Graph::edge_range nb, const DDCompactView::Graph &g, std::ostream &os)
Provides an exploded view of the detector (tree-view)
const std::string & name() const
Returns the name.
const DDMaterial & material(void) const
Returns a reference object of the material this LogicalPart is made of.