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;
std::vector< int > m_ApaRops
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.
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))
raw::ChannelID_t FirstChannelInROP(readout::ROPID const &ropid) const
Returns the ID of the first channel in the specified readout plane.
Class identifying a set of planes sharing readout channels.
Q_EXPORT QTSManip setw(int w)
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.
unsigned int NROPs(readout::TPCsetID const &tpcsetid) const
Returns the total number of ROP in the specified TPC set.
Q_EXPORT QTSManip setfill(int f)
QTextStream & endl(QTextStream &s)
The data type to uniquely identify a cryostat.
art::ServiceHandle< geo::Geometry > m_pgeo