22 TH1F* frame = pdf.canvas.DrawFrame(0,-10, 20,10);
23 frame->SetTitle(
"Pitch (thick) and wire (thin) red=U, blue=V, +X (-drift) direction into page");
24 frame->SetXTitle(
"Transverse Z direction");
25 frame->SetYTitle(
"Transverse Y (W) direction");
32 for (
int ind=0; ind<3; ++ind) {
33 Ray r_pitch = pitch_rays[ind];
35 r_pitch.second.x(0.0);
40 const Ray r_wire(r_pitch.second - d_wire,
41 r_pitch.second + d_wire);
43 <<
": d_pitch=" << d_pitch
44 <<
" d_wire=" << d_wire
45 <<
" r_wire=" << r_wire
50 TArrow* a_pitch =
new TArrow(r_pitch.first.z(), r_pitch.first.y(),
51 r_pitch.second.z(), r_pitch.second.y(), 0.01,
"|>");
52 a_pitch->SetLineColor(colors[ind]);
53 a_pitch->SetLineWidth(2);
55 TArrow* a_wire =
new TArrow(r_wire.first.z(), r_wire.first.y(),
56 r_wire.second.z(), r_wire.second.y(), 0.01);
57 a_wire->SetLineColor(colors[ind]);
std::pair< Point, Point > Ray
A line segment running from a first (tail) to a second (head) point.
const Ray & pitchW() const
D3Vector norm() const
Return a normalized vector in the direction of this vector.
const Ray & pitchV() const
const Ray & pitchU() const
std::vector< float > Vector
D3Vector cross(const D3Vector &rhs) const
Return the cross product of this vector and the other.
Vector ray_vector(const Ray &ray)
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.
QTextStream & endl(QTextStream &s)