14 using std::ostringstream;
36 unsigned int w = log10(napatot-1) + 1;
42 for (
Index iapa=0; iapa<napa; ++iapa ) {
43 APAID apaid(cryid, iapa);
50 for (
Index irop=0; irop<nrop; ++irop ) {
51 ROPID ropid(apaid, irop);
54 else if ( view ==
geo::kV ) ++nvv;
55 else if ( view ==
geo::kZ ) ++nvz;
61 for (
Index irop=0; irop<nrop; ++irop ) {
62 ROPID ropid(apaid, irop);
72 if ( nvu > 1 ) ssname << ivu;
76 if ( nvv > 1 ) ssname << ivv;
80 if ( nvz > 1 ) ssname << ivz;
82 ssname <<
"UnknownView";
126 out << prefix <<
"GeoRopChannelGroupService: " <<
endl;
127 out << prefix <<
" # ROP: " <<
size() <<
endl;
art::ServiceHandle< geo::Geometry > m_pgeo
const ChannelVector & channels(Index igrp) const
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
ChannelGroupService::ChannelVector ChannelVector
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.
Planes which measure Z direction.
std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const
unsigned int Nchannels() const
Returns the number of TPC readout channels in the detector.
ChannelGroupService::Name Name
ChannelGroupService::Index Index
fInnerVessel push_back(Point(-578.400000, 0.000000, 0.000000))
Name name(Index igrp) const
raw::ChannelID_t FirstChannelInROP(readout::ROPID const &ropid) const
Returns the ID of the first channel in the specified readout plane.
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC 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.
Access the description of detector geometry.
ChannelVectorVector m_chanvecs
unsigned int NROPs(readout::TPCsetID const &tpcsetid) const
Returns the total number of ROP in the specified TPC set.
Interface to algorithm class for a specific detector channel mapping.
GeoRopChannelGroupService(fhicl::ParameterSet const &pset)
Q_EXPORT QTSManip setfill(int f)
decltype(auto) constexpr empty(T &&obj)
ADL-aware version of std::empty.
QTextStream & endl(QTextStream &s)
The data type to uniquely identify a cryostat.
std::vector< Channel > ChannelVector
#define DEFINE_ART_SERVICE_INTERFACE_IMPL(svc, iface)