15 std::pair<std::vector<SensitiveTkDetector*>, std::vector<SensitiveCaloDetector*> >
AttachSD::create(
21 std::pair<std::vector<SensitiveTkDetector*>, std::vector<SensitiveCaloDetector*> > detList;
22 const std::vector<std::string_view>& rouNames = clg.
readoutNames();
23 edm::LogVerbatim(
"SimG4CoreSensitiveDetector") <<
" AttachSD: Initialising " << rouNames.size() <<
" SDs";
24 for (
auto&
rname : rouNames) {
26 std::unique_ptr<SensitiveDetectorMakerBase>
temp{
29 std::unique_ptr<SensitiveDetector>
sd{
temp->make({
rname.data(),
rname.size()}, es, clg,
p, man, reg)};
32 ss <<
" AttachSD: created a " << className <<
" with name " <<
rname;
35 detList.second.push_back(static_cast<SensitiveCaloDetector*>(
sd.release()));
38 detList.first.push_back(static_cast<SensitiveTkDetector*>(
sd.release()));
39 ss <<
" + tracking SD";
std::pair< std::vector< SensitiveTkDetector * >, std::vector< SensitiveCaloDetector * > > create(const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *, SimActivityRegistry ®) const
std::string_view className(const std::string &readoutName) const
const G4String rname[NREG]
const std::vector< std::string_view > readoutNames(const std::string &className) const
std::string className(const T &t)