本文整理汇总了C++中Geometry::Readout方法的典型用法代码示例。如果您正苦于以下问题:C++ Geometry::Readout方法的具体用法?C++ Geometry::Readout怎么用?C++ Geometry::Readout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Geometry
的用法示例。
在下文中一共展示了Geometry::Readout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: VolumeManager
/// Default constructor
IDDecoder::IDDecoder() {
LCDD& lcdd = LCDD::getInstance();
_volumeManager = lcdd.volumeManager();
if (not _volumeManager.isValid()) {
_volumeManager = VolumeManager(lcdd, "volman", lcdd.world(), Readout(), VolumeManager::TREE);
}
_tgeoMgr = lcdd.world().volume()->GetGeoManager();
}
示例2: findReadout
// helper method to find the corresponding Readout object to a DetElement
Readout IDDecoder::findReadout(const Geometry::DetElement& det) const {
// first check if top level is a sensitive detector
if (det.volume().isValid() and det.volume().isSensitive()) {
Geometry::SensitiveDetector sd = det.volume().sensitiveDetector();
if (sd.isValid() and sd.readout().isValid()) {
return sd.readout();
}
}
// check all children recursively for the first valid Readout object
const DetElement::Children& children = det.children();
DetElement::Children::const_iterator it = children.begin();
while (it != children.end()) {
Readout r = findReadout(it->second);
if (r.isValid()) {
return r;
}
++it;
}
// neither this or any daughter is sensitive
return Readout();
}