#include <ProtoDUNEChannelMapAlg.h>
Public Types | |
typedef unsigned int | Index |
Public Member Functions | |
ProtoDUNEChannelMapAlg (const fhicl::ParameterSet &pset) | |
void | Initialize (GeometryData_t const &geodata) override |
Geometry initialisation. More... | |
void | Uninitialize () override |
Deconfiguration: prepare for a following call of Initialize() More... | |
Index | NOpChannels (Index NOpDets) const override |
Returns the number of optical channels contained in some detectors. More... | |
Index | MaxOpChannel (Index NOpDets) const override |
Returns the number of optical channels contained in some detectors. More... | |
Index | NOpHardwareChannels (Index opDet) const override |
Returns the number of channels in the specified optical detectors. More... | |
Index | OpChannel (Index detNum, Index channel) const override |
Returns the channel ID of the specified hardware channel. More... | |
Index | OpDetFromOpChannel (Index opChannel) const override |
Returns the optical detector the specified optical channel belongs. More... | |
Index | HardwareChannelFromOpChannel (Index opChannel) const override |
Returns the hardware channel number of specified optical channel. More... | |
bool | IsValidOpChannel (Index opChannel, Index) const override |
Returns whether the ID identifies a valid optical detector channel. More... | |
Index | SSPfromOpDet (Index opDet) const |
Index | FirstSSPChFromOpDet (Index OpDet) const |
Index | OpChannelFromSSP (Index ssp, Index sspch) const |
void | PrintChannelMaps () const |
Public Member Functions inherited from geo::DuneApaChannelMapAlg | |
DuneApaChannelMapAlg (const fhicl::ParameterSet &pset) | |
void | setSorter (const geo::GeoObjectSorter &sort) |
std::vector< WireID > | ChannelToWire (raw::ChannelID_t channel) const override |
unsigned int | Nchannels () const override |
Returns the total number of channels present (not necessarily contiguous) More... | |
unsigned int | Nchannels (readout::ROPID const &ropid) const override |
Returns the number of channels in the specified ROP. More... | |
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. More... | |
double | WireCoordinate (double YPos, double ZPos, geo::PlaneID const &planeID) const override |
Returns the index of the wire nearest to the specified position. More... | |
SigType_t | SignalTypeForChannelImpl (raw::ChannelID_t const channel) const override |
Return the signal type of the specified channel. More... | |
std::set< PlaneID > const & | PlaneIDs () const override |
Returns a list of the plane IDs in the whole detector. More... | |
virtual geo::GeoObjectSorter const & | Sorter () const override |
Returns the object to sort geometry with. More... | |
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. More... | |
virtual WireID | NearestWireID (const TVector3 &worldPos, geo::PlaneID const &planeID) const override |
Returns the ID of the wire nearest to the specified position. More... | |
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. More... | |
virtual raw::ChannelID_t | PlaneWireToChannel (geo::WireID const &wireID) const override |
Returns the channel ID a wire is connected to. More... | |
virtual unsigned int | NTPCsets (readout::CryostatID const &cryoid) const override |
Returns the total number of TPC sets in the specified cryostat. More... | |
virtual unsigned int | MaxTPCsets () const override |
virtual bool | HasTPCset (readout::TPCsetID const &tpcsetid) const override |
virtual readout::TPCsetID | TPCtoTPCset (geo::TPCID const &tpcid) const override |
Returns the ID of the TPC set the specified TPC belongs to. More... | |
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. More... | |
virtual geo::TPCID | FirstTPCinTPCset (readout::TPCsetID const &tpcsetid) const override |
virtual unsigned int | NROPs (readout::TPCsetID const &tpcsetid) const override |
Returns the total number of ROP in the specified TPC set. More... | |
virtual unsigned int | MaxROPs () const override |
virtual bool | HasROP (readout::ROPID const &ropid) const override |
virtual readout::ROPID | WirePlaneToROP (geo::PlaneID const &planeid) const override |
Returns the ID of the ROP planeid belongs to, or invalid if none. More... | |
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. More... | |
virtual std::vector< geo::TPCID > | ROPtoTPCs (readout::ROPID const &ropid) const override |
Returns a list of ID of TPCs the specified ROP spans. More... | |
virtual readout::ROPID | ChannelToROP (raw::ChannelID_t channel) const override |
virtual raw::ChannelID_t | FirstChannelInROP (readout::ROPID const &ropid) const override |
Returns the ID of the first channel in the specified readout plane. More... | |
virtual geo::PlaneID | FirstWirePlaneInROP (readout::ROPID const &ropid) const override |
Returns the ID of the first plane belonging to the specified ROP. More... | |
Public Member Functions inherited from geo::ChannelMapAlg | |
virtual | ~ChannelMapAlg ()=default |
Virtual destructor. More... | |
unsigned int | NearestWire (const TVector3 &worldPos, geo::PlaneID const &planeID) const |
Returns the index of the wire nearest to the specified position. More... | |
unsigned int | NearestWire (const TVector3 &worldPos, unsigned int PlaneNo, unsigned int TPCNo, unsigned int cstat) const |
Returns the index of the wire nearest to the specified position. More... | |
virtual size_t | NearestAuxDet (const double *point, std::vector< geo::AuxDetGeo > const &auxDets, double tolerance=0) const |
Returns the auxiliary detector closest to the specified point. More... | |
virtual size_t | NearestSensitiveAuxDet (const double *point, std::vector< geo::AuxDetGeo > const &auxDets, double tolerance=0) const |
Returns sensitive auxiliary detector closest to specified point. More... | |
virtual size_t | ChannelToAuxDet (std::vector< geo::AuxDetGeo > const &auxDets, std::string const &detName, uint32_t const &channel) const |
Returns the index of the detector containing the specified channel. More... | |
virtual std::pair< size_t, size_t > | ChannelToSensitiveAuxDet (std::vector< geo::AuxDetGeo > const &auxDets, std::string const &detName, uint32_t const &channel) const |
Returns the index of the sensitive detector containing the channel. More... | |
const std::vector< std::vector< std::vector< raw::ChannelID_t > > > | FirstChannelInNextPlane () const |
Retrieve the private fFirstChannelInNextPlane vector for testing. More... | |
const std::vector< std::vector< std::vector< raw::ChannelID_t > > > | FirstChannelInThisPlane () const |
Retrieve the private fFirstChannelInThisPlane vector for testing. More... | |
virtual bool | HasChannel (raw::ChannelID_t channel) const |
Returns whether the specified channel is valid This default implementation assumes all channels up to Nchannels() valid. More... | |
geo::SigType_t | SignalTypeForChannel (raw::ChannelID_t const channel) const |
Return the signal type of the specified channel. More... | |
geo::SigType_t | SignalTypeForROPID (readout::ROPID const &ropid) const |
Return the signal type on the specified readout plane. More... | |
Private Attributes | |
Index | fMaxOpChannel |
Index | fNOpChannels |
std::map< Index, Index > | fSSP |
std::map< Index, Index > | fSSPChOne |
std::map< Index, Index > | fOpDet |
std::map< Index, Index > | fHWChannel |
Additional Inherited Members | |
Protected Types inherited from geo::DuneApaChannelMapAlg | |
template<class T > | |
using | Vector = std::vector< T > |
template<class T > | |
using | TwoVector = Vector< Vector< T >> |
template<class T > | |
using | ThreeVector = Vector< TwoVector< T >> |
template<class T > | |
using | FourVector = Vector< ThreeVector< T >> |
Protected Types inherited from geo::ChannelMapAlg | |
template<typename T > | |
using | TPCInfoMap_t = std::vector< std::vector< T >> |
Data type for per-TPC information. More... | |
template<typename T > | |
using | PlaneInfoMap_t = TPCInfoMap_t< std::vector< T >> |
Data type for per-plane information. More... | |
Protected Member Functions inherited from geo::DuneApaChannelMapAlg | |
bool | HasCryostat (CryostatID const &cid) const |
Returns whether the specified ID represents a valid cryostat. More... | |
Protected Member Functions inherited from geo::ChannelMapAlg | |
template<typename T > | |
T const & | AccessElement (PlaneInfoMap_t< T > const &map, geo::PlaneID const &id) const |
Returns the specified element of the plane map. More... | |
template<typename T > | |
size_t | AccessElementSize (PlaneInfoMap_t< T > const &map, geo::TPCID const &id) const |
Returns the number of elements in the specified TPC of the plane map. More... | |
template<typename T > | |
T const * | GetElementPtr (PlaneInfoMap_t< T > const &map, geo::PlaneID const &id) const |
Returns a pointer to the specified element, or nullptr if invalid. More... | |
template<typename T > | |
T const & | AccessElement (TPCInfoMap_t< T > const &map, geo::TPCID const &id) const |
Returns the specified element of the TPC map. More... | |
template<typename T > | |
size_t | AccessElementSize (TPCInfoMap_t< T > const &map, geo::CryostatID const &id) const |
Returns the number of elements in the specified cryostat of the TPC map. More... | |
template<typename T > | |
bool | isValidElement (TPCInfoMap_t< T > const &map, geo::CryostatID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
template<typename T > | |
bool | isValidElement (TPCInfoMap_t< T > const &map, geo::TPCID const &id) const |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, geo::CryostatID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, geo::TPCID const &id) const |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, geo::PlaneID const &id) const |
virtual geo::SigType_t | SignalTypeForROPIDImpl (readout::ROPID const &ropid) const |
Return the signal type on the specified readout plane. More... | |
Protected Attributes inherited from geo::DuneApaChannelMapAlg | |
unsigned int | fOpDetFlag |
unsigned int | fChannelsPerOpDet |
Flag for OpDet channel map. More... | |
unsigned int | fNcryostat |
number of cryostats in the detector More... | |
unsigned int | fNchannels |
number of channels in the detector More... | |
unsigned int | fChannelsPerAPA |
number of channels in each APA More... | |
raw::ChannelID_t | fTopChannel |
book keeping highest channel # More... | |
unsigned int | fNTpcMax |
Max # TPCs in any cryostat. More... | |
unsigned int | fNApaMax |
Max # TPCs in any cryostat. More... | |
unsigned int | fNRopMax |
Max # ROPs in any APA. More... | |
std::vector< unsigned int > | fNTpc |
number of TPCs in each cryostat More... | |
std::vector< unsigned int > | fNApa |
number of APAs in each cryostat More... | |
std::set< View_t > | fViews |
vector of the views present in the detector More... | |
std::set< PlaneID > | fPlaneIDs |
vector of the PlaneIDs present in the detector More... | |
ThreeVector< unsigned int > | fWiresPerPlane |
wires/TPC plane for each (cry, tpc, pla)More... | |
TwoVector< unsigned int > | fPlanesPerTpc |
planes for each (cry, tpc)More... | |
TwoVector< unsigned int > | fRopsPerApa |
ROPs for each (cry, apa)More... | |
ThreeVector< unsigned int > | fApaTpcs |
TPCs for each APA. More... | |
ThreeVector< unsigned int > | fPlanesPerRop |
TPC planes for each (cry, apa, rop)More... | |
FourVector< unsigned int > | fRopTpc |
TPC planes for each (cry, apa, rop, rpl)More... | |
FourVector< unsigned int > | fRopPlane |
TPC plane index for each (cry, apa, rop, rpl)More... | |
TwoVector< unsigned int > | fChannelsPerApa |
channels for each APAMore... | |
ThreeVector< unsigned int > | fChannelsPerRop |
channels for each RopMore... | |
ThreeVector< unsigned int > | fAnchoredWires |
anchored wires for each (cry, tpc, pla)More... | |
ThreeVector< unsigned int > | fPlaneApa |
APA for each TPC plane (cry, tpc, pla) More... | |
ThreeVector< unsigned int > | fPlaneRop |
ROP for each TPC plane (cry, tpc, pla) More... | |
ThreeVector< unsigned int > | fPlaneRopIndex |
Index in ROP for each TPC plane (cry, tpc, pla) More... | |
ThreeVector< unsigned int > | fAnchoredPlaneRop |
ROP holding the anchored wires for (cry, tpc, pla) More... | |
ThreeVector< unsigned int > | fWiresPerRop |
wires/ROP for each (cry, apa, rop)More... | |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInThisRop |
(cry, apa, rop) More... | |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInNextRop |
(cry, apa, rop) More... | |
const geo::GeoObjectSorter * | fSorter |
sorts geo::XXXGeo objects More... | |
PlaneInfoMap_t< PlaneData_t > | fPlaneData |
std::vector< double > | fWirePitch |
std::vector< double > | fOrientation |
std::vector< double > | fSinOrientation |
std::vector< double > | fCosOrientation |
Protected Attributes inherited from geo::ChannelMapAlg | |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInThisPlane |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInNextPlane |
std::map< std::string, size_t > | fADNameToGeo |
map the names of the dets to the AuxDetGeo objects More... | |
std::map< size_t, std::vector< size_t > > | fADChannelToSensitiveGeo |
Definition at line 30 of file ProtoDUNEChannelMapAlg.h.
typedef unsigned int geo::ProtoDUNEChannelMapAlg::Index |
Definition at line 34 of file ProtoDUNEChannelMapAlg.h.
geo::ProtoDUNEChannelMapAlg::ProtoDUNEChannelMapAlg | ( | const fhicl::ParameterSet & | pset | ) |
Definition at line 37 of file ProtoDUNEChannelMapAlg.cxx.
|
overridevirtual |
Returns the hardware channel number of specified optical channel.
opChannel | the optical detector channel being queried |
If the specified optical channel is invalid, behaviour is undefined.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 222 of file ProtoDUNEChannelMapAlg.cxx.
|
overridevirtual |
Geometry initialisation.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 47 of file ProtoDUNEChannelMapAlg.cxx.
|
inlineoverridevirtual |
Returns whether the ID identifies a valid optical detector channel.
opChannel | channel number |
NOpDets | number of optical detectors in the detector |
The specification of the number of optical channels reflects the logic described in NOpChannel()
.
Reimplemented from geo::ChannelMapAlg.
Definition at line 49 of file ProtoDUNEChannelMapAlg.h.
Returns the number of optical channels contained in some detectors.
NOpDets | number of optical detectors |
This function returns the first optical channel ID larger than the last channel ID in a detector with NOpDets optical detectors (with the same logic as NOpChannels()
). For example, in a detector with 32 channels with contiguous IDs starting at 0, this function would return 32. If the channels started with ID 1, this function would instead return 33 and if there were a 16 channel gap, so that valid channels are from 0 to 15 and from 32 to 47, this function would return 48.
Reimplemented from geo::ChannelMapAlg.
Definition at line 180 of file ProtoDUNEChannelMapAlg.cxx.
Returns the number of optical channels contained in some detectors.
NOpDets | number of optical detectors |
This function returns how many channels can be expected to be present in a detector with NOpDets optical detectors. This is an upper limit, as not all channels have necessarily to be present.
For example: if a detector has four channels per optical detector, the returned value will be four times the argument NOpDets. If there is a single channel on each optical detector, the return value will be the value NOpDets (this is in fact the fallback implementation). If each optical detector can have anywhere between 2 and 12 channels, the returned value is 12 times NOpDets, and it will be an overestimation of the number of channels.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 174 of file ProtoDUNEChannelMapAlg.cxx.
Returns the number of channels in the specified optical detectors.
opDet | ID of the chosen optical detector |
This function returns how many channels are actually present in the optical detector with the specified ID.
For example: if a detector has four channels per optical detector, the returned value will be four, regardless opDet, and . If there is a single channel on each optical detector, the return value will be 1, again ignoring opDet (this is in fact the fallback implementation). If each optical detector can have anywhere between 2 and 12 channels, the returned value will be 2, 12, etc., that is the exact number of channels in opDet.
Although implementations are encouraged to return 0 on invalid optical detectors, the actual return value in that case is undefined.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 186 of file ProtoDUNEChannelMapAlg.cxx.
|
overridevirtual |
Returns the channel ID of the specified hardware channel.
detNum | optical detector ID |
hwchannel | hardware channel within the specified optical detector |
If the input IDs identify a non-existing channel, the result is undefined.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 197 of file ProtoDUNEChannelMapAlg.cxx.
Definition at line 233 of file ProtoDUNEChannelMapAlg.cxx.
Returns the optical detector the specified optical channel belongs.
opChannel | the optical detector channel being queried |
If the specified optical channel is invalid, behaviour is undefined.
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 212 of file ProtoDUNEChannelMapAlg.cxx.
void geo::ProtoDUNEChannelMapAlg::PrintChannelMaps | ( | ) | const |
Definition at line 247 of file ProtoDUNEChannelMapAlg.cxx.
|
overridevirtual |
Deconfiguration: prepare for a following call of Initialize()
Reimplemented from geo::DuneApaChannelMapAlg.
Definition at line 167 of file ProtoDUNEChannelMapAlg.cxx.
Definition at line 65 of file ProtoDUNEChannelMapAlg.h.
|
private |
Definition at line 60 of file ProtoDUNEChannelMapAlg.h.
|
private |
Definition at line 61 of file ProtoDUNEChannelMapAlg.h.
Definition at line 64 of file ProtoDUNEChannelMapAlg.h.
Definition at line 62 of file ProtoDUNEChannelMapAlg.h.
Definition at line 63 of file ProtoDUNEChannelMapAlg.h.