16 #include "messagefacility/MessageLogger/MessageLogger.h"
34 , fTrans(
std::move(trans))
48 auto lp = geo::origin<LocalPoint_t>();
82 mf::LogWarning(
"WireGeo") <<
"asked for position along wire that"
83 " extends beyond the wire, returning position at end point";
86 const double local[3] = { 0., 0., locz };
92 {
return ((TGeoTube*)fWireNode->GetVolume()->GetShape())->GetRmax(); }
96 {
return ((TGeoTube*)fWireNode->GetVolume()->GetShape())->GetRmin(); }
104 (std::string indent ,
unsigned int verbosity )
const
106 std::ostringstream sstr;
107 PrintWireInfo(sstr, indent, verbosity);
void Flip()
Set to swap the start and end wire.
Geometry description of a TPC wireThe wire is a single straight segment on a wire plane...
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
double fThetaZ
angle of the wire with respect to the z direction
geo::Point_t fCenter
Center of the wire in world coordinates.
double DistanceFrom(geo::WireGeo const &wire) const
Returns 3D distance from the specified wire.
geo::Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local wire frame to world frame.
double ThetaZ() const
Returns angle of wire with respect to z axis in the Y-Z plane in radians.
unsigned int fillCoords(Coords &dest, Vector const &src)
Fills a coordinate array with the coordinates of a vector.
double fHalfL
half length of the wire
std::string WireInfo(std::string indent="", unsigned int verbosity=1) const
Returns a string with all the information of the wire.
void UpdateAfterSorting(geo::WireID const &, bool flip)
void LocalToWorld(const double *wire, double *world) const
Transform point from local wire frame to world frame.
bool isfinite(Vector const &v)
Returns whether all components of the vector are finite.
double RMax() const
Returns the outer half-size of the wire [cm].
auto end(FixedBins< T, C > const &) noexcept
Utilities to extend the interface of geometry vectors.
Encapsulate the geometry of a wire.
double relLength(double local) const
Returns the relative length from center to be used when transforming.
constexpr T pi()
Returns the constant pi (up to 35 decimal digits of precision)
WireGeo(TGeoNode const &node, geo::TransformationMatrix &&trans)
Constructor from a ROOT geometry node and a transformation.
constexpr T RadiansToDegrees(T angle)
Converts the argument angle from radians into degrees ( )
void GetCenter(double *xyz, double localz=0.0) const
Fills the world coordinate of a point on the wire.
Collection of Physical constants used in LArSoft.
bool isParallelTo(geo::WireGeo const &wire) const
Returns if this wire is parallel to another.
double RMin() const
Returns the inner radius of the wire (usually 0) [cm].
ROOT::Math::Transform3D TransformationMatrix
Type of transformation matrix used in geometry.
const TGeoNode * fWireNode
Pointer to the wire node.
bool flipped
whether start and end are reversed