14 using std::ostringstream;
30 : m_LogLevel(pset.
get<
int>(
"LogLevel")),
33 const string myname =
"GeoApaChannelGroupService::ctor: ";
39 unsigned int w = log10(ngrp-1) + 1;
47 Index icry = cryid.Cryostat;
49 for (
Index iapa=0; iapa<napa; ++iapa, ++igrp ) {
50 APAID apaid(cryid, iapa);
54 if ( ncry > 1 ) ssname <<
"cry" << icry <<
"-";
62 for (
Index irop=0; irop<nrop; ++irop ) {
64 bool keep = mask & pat;
65 if ( ! keep ) skipRop[irop] =
true;
69 for (
Index irop=0; irop<nrop; ++irop ) {
70 if ( skipRop[irop] )
continue;
71 ROPID ropid(apaid, irop);
79 cout << myname <<
"Group " << igrp <<
" (" <<
m_names[igrp] <<
") has " 80 <<
m_chanvecs[igrp].size() <<
" channels from " 81 << nropUsed <<
"/" << nrop <<
" readout planes." <<
endl;
118 out << prefix <<
"GeoApaChannelGroupService: " <<
endl;
119 out << prefix <<
" # ROP: " <<
size() <<
endl;
std::vector< int > m_ApaRops
ChannelGroupService::Name Name
ChannelVectorVector m_chanvecs
Class identifying a set of TPC sharing readout channels.
unsigned int NTPCsets(readout::CryostatID const &cryoid) const
Returns the total number of TPC sets in the specified cryostat.
std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
unsigned int Nchannels() const
Returns the number of TPC readout channels in the detector.
fInnerVessel push_back(Point(-578.400000, 0.000000, 0.000000))
ChannelGroupService::ChannelVector ChannelVector
raw::ChannelID_t FirstChannelInROP(readout::ROPID const &ropid) const
Returns the ID of the first channel in the specified readout plane.
const ChannelVector & channels(Index igrp) const
Class identifying a set of planes sharing readout channels.
Q_EXPORT QTSManip setw(int w)
GeoApaChannelGroupService(fhicl::ParameterSet const &pset)
ChannelGroupService::Index Index
IteratorBox< cryostat_id_iterator,&GeometryCore::begin_cryostat_id,&GeometryCore::end_cryostat_id > IterateCryostatIDs() const
Enables ranged-for loops on all cryostat IDs of the detector.
Access the description of detector geometry.
unsigned int NROPs(readout::TPCsetID const &tpcsetid) const
Returns the total number of ROP in the specified TPC set.
auto const & get(AssnsNode< L, R, D > const &r)
Interface to algorithm class for a specific detector channel mapping.
Q_EXPORT QTSManip setfill(int f)
decltype(auto) constexpr empty(T &&obj)
ADL-aware version of std::empty.
QTextStream & endl(QTextStream &s)
Name name(Index igrp) const
The data type to uniquely identify a cryostat.
art::ServiceHandle< geo::Geometry > m_pgeo
std::vector< Channel > ChannelVector
#define DEFINE_ART_SERVICE_INTERFACE_IMPL(svc, iface)