31 #ifndef geo_DuneApaChannelMapAlg_H 32 #define geo_DuneApaChannelMapAlg_H 36 #include "cetlib_except/exception.h" 70 unsigned int cstat)
const override;
80 unsigned int cstat)
const override 89 unsigned int cstat)
const override 94 std::set<PlaneID>
const&
PlaneIDs()
const override;
110 virtual unsigned int MaxTPCsets()
const override;
154 virtual unsigned int MaxROPs()
const override;
229 unsigned int NOpChannels(
unsigned int NOpDets)
const override;
231 unsigned int OpChannel(
unsigned int detNum,
unsigned int channel = 0)
const override;
unsigned int Nchannels() const override
Returns the total number of channels present (not necessarily contiguous)
unsigned int fNApaMax
Max # TPCs in any cryostat.
unsigned int fNRopMax
Max # ROPs in any APA.
Interface for a class providing readout channel mapping to geometry.
bool HasCryostat(CryostatID const &cid) const
Returns whether the specified ID represents a valid cryostat.
virtual readout::ROPID WirePlaneToROP(geo::PlaneID const &planeid) const override
Returns the ID of the ROP planeid belongs to, or invalid if none.
std::set< PlaneID > fPlaneIDs
vector of the PlaneIDs present in the detector
unsigned int OpDetFromOpChannel(unsigned int opChannel) const override
Returns the optical detector the specified optical channel belongs.
Vector< ThreeVector< T >> FourVector
virtual geo::PlaneID FirstWirePlaneInROP(readout::ROPID const &ropid) const override
Returns the ID of the first plane belonging to the specified ROP.
Classes identifying readout-related concepts.
float fWireSortingInZ
+1 if the wire ID order follow z (larger z, or smaller intercept => larger wire ID); -1 otherwise ...
std::vector< double > fOrientation
SigType_t SignalTypeForChannelImpl(raw::ChannelID_t const channel) const override
Return the signal type of the specified channel.
ThreeVector< unsigned int > fApaTpcs
TPCs for each APA.
ThreeVector< unsigned int > fChannelsPerRop
channels for each Rop
std::vector< double > fCosOrientation
PlaneInfoMap_t< raw::ChannelID_t > fFirstChannelInThisRop
(cry, apa, rop)
The data type to uniquely identify a Plane.
double WireCoordinate(double YPos, double ZPos, unsigned int PlaneNo, unsigned int TPCNo, unsigned int cstat) const override
Returns the index of the wire nearest to the specified position.
all data we need for each APA
Class identifying a set of TPC sharing readout channels.
virtual WireID NearestWireID(const TVector3 &worldPos, unsigned int PlaneNo, unsigned int TPCNo, unsigned int cstat) const override
Returns the ID of the wire nearest to the specified position.
const geo::GeoObjectSorter * fSorter
sorts geo::XXXGeo objects
CryostatID_t Cryostat
Index of cryostat.
virtual unsigned int MaxROPs() const override
ThreeVector< unsigned int > fPlaneRop
ROP for each TPC plane (cry, tpc, pla)
DuneApaChannelMapAlg(const fhicl::ParameterSet &pset)
ThreeVector< unsigned int > fAnchoredWires
anchored wires for each (cry, tpc, pla)
virtual geo::GeoObjectSorter const & Sorter() const override
Returns the object to sort geometry with.
unsigned int NOpChannels(unsigned int NOpDets) const override
Returns the number of optical channels contained in some detectors.
virtual unsigned int MaxTPCsets() const override
std::vector< double > fWirePitch
void setSorter(const geo::GeoObjectSorter &sort)
PlaneInfoMap_t< PlaneData_t > fPlaneData
TwoVector< unsigned int > fPlanesPerTpc
planes for each (cry, tpc)
TPCInfoMap_t< std::vector< T >> PlaneInfoMap_t
Data type for per-plane information.
Interface to algorithm class for sorting geo::XXXGeo objects.
ThreeVector< unsigned int > fPlaneApa
APA for each TPC plane (cry, tpc, pla)
TwoVector< unsigned int > fChannelsPerApa
channels for each APA
virtual unsigned int NROPs(readout::TPCsetID const &tpcsetid) const override
Returns the total number of ROP in the specified TPC set.
virtual raw::ChannelID_t FirstChannelInROP(readout::ROPID const &ropid) const override
Returns the ID of the first channel in the specified readout plane.
unsigned int fChannelsPerOpDet
Flag for OpDet channel map.
void Initialize(GeometryData_t const &geodata) override
Geometry initialisation.
enum geo::_plane_sigtype SigType_t
FourVector< unsigned int > fRopPlane
TPC plane index for each (cry, apa, rop, rpl)
unsigned int OpChannel(unsigned int detNum, unsigned int channel=0) const override
Returns the channel ID of the specified hardware channel.
std::vector< WireID > ChannelToWire(raw::ChannelID_t channel) const override
Vector< TwoVector< T >> ThreeVector
std::vector< unsigned int > fNApa
number of APAs in each cryostat
virtual readout::ROPID ChannelToROP(raw::ChannelID_t channel) const override
ThreeVector< unsigned int > fPlanesPerRop
TPC planes for each (cry, apa, rop)
unsigned int fNcryostat
number of cryostats in the detector
std::vector< double > fSinOrientation
ThreeVector< unsigned int > fWiresPerRop
wires/ROP for each (cry, apa, rop)
The data type to uniquely identify a TPC.
Class identifying a set of planes sharing readout channels.
virtual std::vector< geo::PlaneID > ROPtoWirePlanes(readout::ROPID const &ropid) const override
Returns a list of ID of wire planes belonging to the specified ROP.
FourVector< unsigned int > fRopTpc
TPC planes for each (cry, apa, rop, rpl)
void Uninitialize() override
Deconfiguration: prepare for a following call of Initialize()
virtual readout::TPCsetID TPCtoTPCset(geo::TPCID const &tpcid) const override
Returns the ID of the TPC set the specified TPC belongs to.
virtual bool HasTPCset(readout::TPCsetID const &tpcsetid) const override
virtual std::vector< geo::TPCID > TPCsetToTPCs(readout::TPCsetID const &tpcsetid) const override
Returns a list of ID of TPCs belonging to the specified TPC set.
virtual raw::ChannelID_t PlaneWireToChannel(unsigned int plane, unsigned int wire, unsigned int tpc, unsigned int cstat) const override
Returns the channel ID a wire is connected to.
unsigned int fChannelsPerAPA
number of channels in each APA
ThreeVector< unsigned int > fPlaneRopIndex
Index in ROP for each TPC plane (cry, tpc, pla)
unsigned int fNchannels
number of channels in the detector
unsigned int HardwareChannelFromOpChannel(unsigned int opChannel) const override
Returns the hardware channel number of specified optical channel.
virtual unsigned int NTPCsets(readout::CryostatID const &cryoid) const override
Returns the total number of TPC sets in the specified cryostat.
unsigned int NOpHardwareChannels(unsigned int opDet) const override
Returns the number of channels in the specified optical detectors.
TwoVector< unsigned int > fRopsPerApa
ROPs for each (cry, apa)
std::set< PlaneID > const & PlaneIDs() const override
Returns a list of the plane IDs in the whole detector.
unsigned int fNTpcMax
Max # TPCs in any cryostat.
raw::ChannelID_t fTopChannel
book keeping highest channel #
std::set< View_t > fViews
vector of the views present in the detector
ThreeVector< unsigned int > fWiresPerPlane
wires/TPC plane for each (cry, tpc, pla)
Data in the geometry description.
unsigned int ChannelID_t
Type representing the ID of a readout channel.
Interface to algorithm class for a specific detector channel mapping.
std::vector< unsigned int > fNTpc
number of TPCs in each cryostat
virtual bool HasROP(readout::ROPID const &ropid) const override
LArSoft geometry interface.
Vector< Vector< T >> TwoVector
virtual geo::TPCID FirstTPCinTPCset(readout::TPCsetID const &tpcsetid) const override
virtual std::vector< geo::TPCID > ROPtoTPCs(readout::ROPID const &ropid) const override
Returns a list of ID of TPCs the specified ROP spans.
The data type to uniquely identify a cryostat.
ThreeVector< unsigned int > fAnchoredPlaneRop
ROP holding the anchored wires for (cry, tpc, pla)
PlaneInfoMap_t< raw::ChannelID_t > fFirstChannelInNextRop
(cry, apa, rop)