LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "APAGeometryAlg.h"
Public Member Functions | |
APAGeometryAlg (fhicl::ParameterSet const &pset) | |
APAGeometryAlg () | |
virtual | ~APAGeometryAlg () |
void | reconfigure (fhicl::ParameterSet const &p) |
void | Init () |
Initialize some chanel numbers to speed up other methods. More... | |
bool | APAChannelsIntersect (uint32_t chan1, uint32_t chan2, std::vector< geo::WireIDIntersection > &IntersectVector) |
If the channels intersect, get all intersections. More... | |
bool | LineSegChanIntersect (TVector3 xyzStart, TVector3 xyzEnd, uint32_t chan, std::vector< geo::WireID > &widsCrossed, bool ExtendLine) |
If a line given by start/end points intersects a channel. More... | |
std::vector< geo::WireID > | ChanSegsPerSide (uint32_t chan, unsigned int side) |
std::vector< geo::WireID > | ChanSegsPerSide (std::vector< geo::WireID > wids, unsigned int side) |
std::vector< double > | ThreeChanPos (uint32_t u, uint32_t v, uint32_t z) |
Find the center of the 3 intersections, choose best if multiple. More... | |
geo::WireID | NearestWireIDOnChan (const double WorldLoc[3], uint32_t chan, unsigned int const plane, unsigned int const tpc=0, unsigned int const cstat=0) |
unsigned int | ChannelToAPA (uint32_t chan) |
Get number of the APA containing the given channel. More... | |
void | ChannelToAPA (uint32_t chan, unsigned int &apa, unsigned int &cryo) |
APAView_t | APAView (uint32_t chan) |
Get which of the 4 APA views the channel is in. More... | |
unsigned int | ChannelsInView (geo::View_t geoview) |
uint32_t | FirstChannelInView (geo::View_t geoview, unsigned int apa, unsigned int cryo) |
uint32_t | FirstChannelInView (geo::View_t geoview, uint32_t chan) |
uint32_t | FirstChannelInView (uint32_t chan) |
unsigned int | ChannelsInAPAView (APAView_t apaview) |
unsigned int | ChannelsPerAPA () |
Private Attributes | |
art::ServiceHandle< geo::Geometry > | fGeom |
unsigned int | fChannelsPerAPA |
All APAs have this same number of channels. More... | |
unsigned int | fAPAsPerCryo |
uint32_t | fFirstU |
uint32_t | fLastU |
uint32_t | fFirstV |
uint32_t | fLastV |
uint32_t | fFirstZ0 |
uint32_t | fLastZ0 |
uint32_t | fFirstZ1 |
uint32_t | fLastZ1 |
double | fChannelRange [2] |
Definition at line 41 of file APAGeometryAlg.h.
apa::APAGeometryAlg::APAGeometryAlg | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 39 of file APAGeometryAlg.cxx.
References Init(), and reconfigure().
apa::APAGeometryAlg::APAGeometryAlg | ( | ) |
Definition at line 47 of file APAGeometryAlg.cxx.
References Init().
|
virtual |
Definition at line 53 of file APAGeometryAlg.cxx.
bool apa::APAGeometryAlg::APAChannelsIntersect | ( | uint32_t | chan1, |
uint32_t | chan2, | ||
std::vector< geo::WireIDIntersection > & | IntersectVector | ||
) |
If the channels intersect, get all intersections.
Definition at line 478 of file APAGeometryAlg.cxx.
References ChannelToAPA(), geo::GeometryCore::ChannelToWire(), fGeom, geo::GeometryCore::View(), and geo::GeometryCore::WireIDsIntersect().
Referenced by ThreeChanPos(), and apa::DisambigAlg::UseEndPts().
APAView_t apa::APAGeometryAlg::APAView | ( | uint32_t | chan | ) |
Get which of the 4 APA views the channel is in.
Definition at line 217 of file APAGeometryAlg.cxx.
References fChannelsPerAPA, fFirstZ1, fGeom, fLastV, fLastZ0, apa::kU, geo::kU, apa::kUnknown, apa::kV, geo::kV, geo::kZ, apa::kZ0, apa::kZ1, and geo::GeometryCore::View().
unsigned int apa::APAGeometryAlg::ChannelsInAPAView | ( | APAView_t | apaview | ) |
unsigned int apa::APAGeometryAlg::ChannelsInView | ( | geo::View_t | geoview | ) |
Definition at line 136 of file APAGeometryAlg.cxx.
References ChannelsInAPAView(), apa::kU, geo::kU, apa::kV, geo::kV, geo::kZ, apa::kZ0, and apa::kZ1.
Referenced by apa::DisambigAlg::FindChanTimeEndPts(), and apa::DisambigAlg::MakeCloseHits().
|
inline |
Definition at line 90 of file APAGeometryAlg.h.
unsigned int apa::APAGeometryAlg::ChannelToAPA | ( | uint32_t | chan | ) |
Get number of the APA containing the given channel.
Definition at line 129 of file APAGeometryAlg.cxx.
References fChannelsPerAPA.
Referenced by APAChannelsIntersect(), FirstChannelInView(), apa::DisambigAlg::MakeCloseHits(), and apa::DisambigAlg::RunDisambig().
void apa::APAGeometryAlg::ChannelToAPA | ( | uint32_t | chan, |
unsigned int & | apa, | ||
unsigned int & | cryo | ||
) |
Definition at line 113 of file APAGeometryAlg.cxx.
References fAPAsPerCryo, and fChannelsPerAPA.
std::vector< geo::WireID > apa::APAGeometryAlg::ChanSegsPerSide | ( | uint32_t | chan, |
unsigned int | side | ||
) |
Definition at line 243 of file APAGeometryAlg.cxx.
References geo::GeometryCore::ChannelToWire(), and fGeom.
std::vector< geo::WireID > apa::APAGeometryAlg::ChanSegsPerSide | ( | std::vector< geo::WireID > | wids, |
unsigned int | side | ||
) |
Definition at line 253 of file APAGeometryAlg.cxx.
uint32_t apa::APAGeometryAlg::FirstChannelInView | ( | geo::View_t | geoview, |
unsigned int | apa, | ||
unsigned int | cryo | ||
) |
Definition at line 175 of file APAGeometryAlg.cxx.
References fAPAsPerCryo, fChannelsPerAPA, fFirstU, fFirstV, fFirstZ0, geo::kU, geo::kV, and geo::kZ.
Referenced by apa::DisambigAlg::FindChanTimeEndPts(), FirstChannelInView(), and apa::DisambigAlg::MakeCloseHits().
uint32_t apa::APAGeometryAlg::FirstChannelInView | ( | geo::View_t | geoview, |
uint32_t | chan | ||
) |
Definition at line 205 of file APAGeometryAlg.cxx.
References ChannelToAPA(), and FirstChannelInView().
uint32_t apa::APAGeometryAlg::FirstChannelInView | ( | uint32_t | chan | ) |
Definition at line 195 of file APAGeometryAlg.cxx.
References ChannelToAPA(), fGeom, FirstChannelInView(), and geo::GeometryCore::View().
void apa::APAGeometryAlg::Init | ( | ) |
Initialize some chanel numbers to speed up other methods.
Definition at line 63 of file APAGeometryAlg.cxx.
References geo::GeometryCore::ChannelToWire(), fAPAsPerCryo, fChannelRange, fChannelsPerAPA, fFirstU, fFirstV, fFirstZ0, fFirstZ1, fGeom, fLastU, fLastV, fLastZ0, fLastZ1, geo::kU, geo::kV, geo::kZ, geo::GeometryCore::NTPC(), geo::TPCID::TPC, geo::GeometryCore::View(), and geo::GeometryCore::WirePitch().
Referenced by APAGeometryAlg().
bool apa::APAGeometryAlg::LineSegChanIntersect | ( | TVector3 | xyzStart, |
TVector3 | xyzEnd, | ||
uint32_t | chan, | ||
std::vector< geo::WireID > & | widsCrossed, | ||
bool | ExtendLine = true |
||
) |
If a line given by start/end points intersects a channel.
Definition at line 305 of file APAGeometryAlg.cxx.
References geo::GeometryCore::ChannelToWire(), fGeom, geo::GeometryCore::NearestWire(), geo::GeometryCore::PositionToTPC(), geo::GeometryCore::ValueInRange(), and w.
geo::WireID apa::APAGeometryAlg::NearestWireIDOnChan | ( | const double | WorldLoc[3], |
uint32_t | chan, | ||
unsigned int const | plane, | ||
unsigned int const | tpc = 0 , |
||
unsigned int const | cstat = 0 |
||
) |
Definition at line 270 of file APAGeometryAlg.cxx.
References geo::GeometryCore::ChannelToWire(), fChannelRange, fGeom, geo::kZ, geo::GeometryCore::NearestWireID(), geo::GeometryCore::View(), and geo::WireID::Wire.
Referenced by ThreeChanPos(), and apa::DisambigAlg::UseEndPts().
void apa::APAGeometryAlg::reconfigure | ( | fhicl::ParameterSet const & | p | ) |
std::vector< double > apa::APAGeometryAlg::ThreeChanPos | ( | uint32_t | u, |
uint32_t | v, | ||
uint32_t | z | ||
) |
Find the center of the 3 intersections, choose best if multiple.
Definition at line 357 of file APAGeometryAlg.cxx.
References APAChannelsIntersect(), geo::GeometryCore::ChannelToWire(), geo::GeometryCore::Cryostat(), fGeom, geo::WireGeo::GetCenter(), geo::TPCGeo::Length(), NearestWireIDOnChan(), geo::CryostatGeo::TPC(), geo::GeometryCore::WireIDsIntersect(), geo::GeometryCore::WireIDToWireGeo(), geo::WireIDIntersection::y, and geo::WireIDIntersection::z.
Referenced by apa::DisambigAlg::UseEndPts().
|
private |
Definition at line 98 of file APAGeometryAlg.h.
Referenced by ChannelToAPA(), FirstChannelInView(), and Init().
|
private |
Definition at line 110 of file APAGeometryAlg.h.
Referenced by Init(), and NearestWireIDOnChan().
|
private |
All APAs have this same number of channels.
Definition at line 97 of file APAGeometryAlg.h.
Referenced by APAView(), ChannelToAPA(), FirstChannelInView(), and Init().
|
private |
Definition at line 101 of file APAGeometryAlg.h.
Referenced by ChannelsInAPAView(), FirstChannelInView(), and Init().
|
private |
Definition at line 103 of file APAGeometryAlg.h.
Referenced by ChannelsInAPAView(), FirstChannelInView(), and Init().
|
private |
Definition at line 105 of file APAGeometryAlg.h.
Referenced by ChannelsInAPAView(), FirstChannelInView(), and Init().
|
private |
Definition at line 107 of file APAGeometryAlg.h.
Referenced by APAView(), ChannelsInAPAView(), and Init().
|
private |
Definition at line 90 of file APAGeometryAlg.h.
Referenced by APAChannelsIntersect(), APAView(), ChanSegsPerSide(), FirstChannelInView(), Init(), LineSegChanIntersect(), NearestWireIDOnChan(), and ThreeChanPos().
|
private |
Definition at line 102 of file APAGeometryAlg.h.
Referenced by Init().
|
private |
Definition at line 104 of file APAGeometryAlg.h.
|
private |
Definition at line 106 of file APAGeometryAlg.h.
|
private |
Definition at line 108 of file APAGeometryAlg.h.
Referenced by ChannelsInAPAView(), and Init().