21 #include "DD4hep/Detector.h" 22 #include "DD4hep/DD4hepRootPersistency.h" 24 #include "TGeoManager.h" 54 desc.add<
bool>(
"fromDD4hep",
false);
55 descriptions.
add(
"printGeomSolids",
desc);
64 TGeoIterator
next(
geom.GetTopVolume());
67 std::vector<std::string>
names;
68 while ((node =
next())) {
73 <<
static_cast<std::string>(node->GetVolume()->GetShape()->GetTitle());
81 const auto& gra = cpv->
graph();
89 edm::LogVerbatim(
"PrintGeom") <<
"\n\nPrintGeomSolids finds " << solids <<
" solids";
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvTokenDDD_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
dd4hep::Detector const * description() const
const cms::DDDetector * detector() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Compact representation of the geometrical detector hierarchy.
const std::string names[nVars_]
A DDSolid represents the shape of a part.
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
static const char *const name(DDSolidShape s)
edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > cpvTokenDD4hep_
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
#define DEFINE_FWK_MODULE(type)
PrintGeomSolids(const edm::ParameterSet &)
DDSolidShape shape(void) const
The type of the solid.
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const DDSolid & solid(void) const
Returns a reference object of the solid being the shape of this LogicalPart.
~PrintGeomSolids() override
adj_list::const_iterator const_adj_iterator
const Graph & graph() const
Provides read-only access to the data structure of the compact-view.