LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
A drawing pad for time vs wire. More...
#include "TWireProjPad.h"
Classes | |
struct | DrawOptions_t |
Public Member Functions | |
TWireProjPad (const char *nm, const char *ti, double x1, double y1, double x2, double y2, unsigned int plane) | |
~TWireProjPad () | |
void | Draw (const char *opt=0) |
void | GetWireRange (int *i1, int *i2) const |
void | SetWireRange (int i1, int i2) |
void | SetZoomRange (int i1, int i2, int y1, int y2) |
DrawOptions_t const & | GetDrawOptions () const |
Return the current draw options. More... | |
void | SetDrawOptions (DrawOptions_t const &opt) |
Receive the full set of draw options. More... | |
void | SetZoomToRoI (bool bZoomToRoI) |
Sets the draw option about zooming to the region of interest. More... | |
void | SetZoomFromView () |
Sets the zoom parameters from the current histogram view. More... | |
void | SaveHitList (double i1, double i2, double y1, double y2, double distance, const char *zoom_opt, bool good_plane=true) |
double | SaveSeedList (std::vector< util::PxLine > seedlines, double distance) |
void | ClearHitList () |
void | SelectOneHit (double x, double y, const char *zoom_opt) |
unsigned int | GetPlane () const |
void | ClearandUpdatePad () |
void | UpdatePad () |
void | DrawLinesinView (std::vector< util::PxLine > lines, bool deleting=false, const char *zoom_opt=0) |
void | ShowFull (int override=0) |
double | UpdateSeedCurve (std::vector< recob::Seed > SeedVec, int plane) |
evdb::View2D * | View () const |
std::vector< double > const & | GetCurrentZoom () const |
TPad * | Pad () |
HeaderDrawer * | HeaderDraw () |
evd_tool::IExperimentDrawer * | GeometryDraw () |
SimulationDrawer * | SimulationDraw () |
RawDataDrawer * | RawDataDraw () |
RecoBaseDrawer * | RecoBaseDraw () |
AnalysisBaseDrawer * | AnalysisBaseDraw () |
HitSelector * | HitSelectorGet () |
Protected Types | |
using | IExperimentDrawerPtr = std::unique_ptr< evd_tool::IExperimentDrawer > |
Protected Attributes | |
TPad * | fPad |
The ROOT graphics pad. More... | |
HeaderDrawer * | fHeaderDraw |
Drawer for event header info. More... | |
IExperimentDrawerPtr | fGeometryDraw |
Drawer for detector geometry. More... | |
SimulationDrawer * | fSimulationDraw |
Drawer for simulation objects. More... | |
RawDataDrawer * | fRawDataDraw |
Drawer for raw data. More... | |
RecoBaseDrawer * | fRecoBaseDraw |
Drawer for recobase objects. More... | |
AnalysisBaseDrawer * | fAnalysisBaseDraw |
Drawer for analysisbase objects. More... | |
Private Attributes | |
std::vector< double > | fCurrentZoom |
DrawOptions_t | fDrawOpts |
set of current draw options More... | |
unsigned int | fPlane |
Which plane in the detector. More... | |
TH1F * | fHisto |
Histogram to draw object on. More... | |
evdb::View2D * | fView |
Collection of graphics objects to render. More... | |
double | fXLo |
Low value of x axis. More... | |
double | fXHi |
High value of x axis. More... | |
double | fYLo |
Low value of y axis. More... | |
double | fYHi |
High value of y axis. More... | |
int | fOri |
Orientation of the axes - see RawDrawingOptions for values. More... | |
A drawing pad for time vs wire.
Definition at line 32 of file TWireProjPad.h.
|
protectedinherited |
Definition at line 51 of file DrawingPad.h.
evd::TWireProjPad::TWireProjPad | ( | const char * | nm, |
const char * | ti, | ||
double | x1, | ||
double | x2, | ||
double | y1, | ||
double | y2, | ||
unsigned int | plane | ||
) |
Create a pad showing a single X-Z or Y-Z projection of the detector
nm | : Name of the pad |
ti | : Title of the pad |
x1 | : Location of left edge of pad (0-1) |
x2 | : Location of right edge of pad (0-1) |
y1 | : Location of bottom edge of pad (0-1) |
y2 | : Location of top edge of pad (0-1) |
plane | : plane number of view |
Definition at line 109 of file TWireProjPad.cxx.
References evd::RawDrawingOptions::CurrentTPC(), evd::RawDrawingOptions::fAxisOrientation, fCurrentZoom, fHisto, fOri, evd::DrawingPad::fPad, fPlane, fView, fXHi, fXLo, fYHi, fYLo, geo::kCollection, max, min, geo::GeometryCore::Nplanes(), geo::GeometryCore::Nwires(), evd::DrawingPad::Pad(), evd::DrawingPad::RawDataDraw(), SetZoomRange(), geo::GeometryCore::SignalType(), evd::RawDataDrawer::StartTick(), and evd::RawDataDrawer::TotalClockTicks().
evd::TWireProjPad::~TWireProjPad | ( | ) |
Definition at line 203 of file TWireProjPad.cxx.
|
inherited |
Provide access to the drawer for AnalysisBase classes
Definition at line 132 of file DrawingPad.cxx.
References evd::DrawingPad::fAnalysisBaseDraw.
Referenced by evd::CalorPad::Draw().
void evd::TWireProjPad::ClearandUpdatePad | ( | ) |
Definition at line 490 of file TWireProjPad.cxx.
References evd::DrawingPad::fPad, and UpdatePad().
Referenced by Draw().
void evd::TWireProjPad::ClearHitList | ( | ) |
Definition at line 298 of file TWireProjPad.cxx.
References evd::HitSelector::ClearHitList(), Draw(), fPlane, evd::RecoDrawingOptions::fUseHitSelector, and evd::DrawingPad::HitSelectorGet().
void evd::TWireProjPad::Draw | ( | const char * | opt = 0 | ) |
Definition at line 210 of file TWireProjPad.cxx.
References evdb::View2D::Clear(), ClearandUpdatePad(), evdb::View2D::Draw(), evd::RawDrawingOptions::fAxisOrientation, fHisto, fOri, evd::DrawingPad::fPad, fPlane, evd::RecoDrawingOptions::fUseHitSelector, fView, fXHi, fXLo, fYHi, fYLo, GetCurrentZoom(), GetDrawOptions(), evdb::EventHolder::GetEvent(), evd::RecoBaseDrawer::Hit2D(), evd::DrawingPad::HitSelectorGet(), evdb::EventHolder::Instance(), LOG_DEBUG, max, evd::SimulationDrawer::MCTruthVectors2D(), min, evd::DrawingPad::RawDataDraw(), evd::DrawingPad::RecoBaseDraw(), SetZoomRange(), ShowFull(), evd::DrawingPad::SimulationDraw(), and UpdatePad().
Referenced by ClearHitList(), evd::TWQProjectionView::Draw(), DrawLinesinView(), SaveHitList(), and SelectOneHit().
void evd::TWireProjPad::DrawLinesinView | ( | std::vector< util::PxLine > | lines, |
bool | deleting = false , |
||
const char * | zoom_opt = 0 |
||
) |
Definition at line 510 of file TWireProjPad.cxx.
References evdb::View2D::AddLine(), evdb::View2D::Clear(), detinfo::DetectorProperties::ConvertTicksToX(), detinfo::DetectorProperties::ConvertXToTicks(), evdb::View2D::Draw(), Draw(), evd::EvdLayoutOptions::fMakeSeeds, evd::DrawingPad::fPad, fPlane, evd::Style::FromPDG(), fView, util::PxLine::plane, util::PxLine::t0, t1, util::PxLine::t1, and UpdatePad().
|
inherited |
Provide access to the drawer for the detector geometry
Definition at line 84 of file DrawingPad.cxx.
References evd::DrawingPad::fGeometryDraw, evd::EvdLayoutOptions::fParameterSet, and fhicl::ParameterSet::get().
Referenced by evd::Display3DPad::Draw().
|
inline |
Definition at line 79 of file TWireProjPad.h.
Referenced by Draw(), and evd::TWQProjectionView::Draw().
|
inline |
Return the current draw options.
Definition at line 50 of file TWireProjPad.h.
Referenced by Draw(), and ShowFull().
|
inline |
Definition at line 68 of file TWireProjPad.h.
void evd::TWireProjPad::GetWireRange | ( | int * | i1, |
int * | i2 | ||
) | const |
Definition at line 373 of file TWireProjPad.cxx.
|
inherited |
Provide access to the drawer for the detector geometry
Definition at line 75 of file DrawingPad.cxx.
References evd::DrawingPad::fHeaderDraw.
Referenced by evd::HeaderPad::Draw().
|
inherited |
Provide access to the HitSelector
Definition at line 144 of file DrawingPad.cxx.
References evd::gTheHitSelector.
Referenced by ClearHitList(), evd::CalorPad::Draw(), Draw(), SaveHitList(), SaveSeedList(), SelectOneHit(), and evd::Display3DPad::UpdateSeedCurve().
|
inlineinherited |
Definition at line 37 of file DrawingPad.h.
Referenced by evd::CalorPad::CalorPad(), evd::Display3DPad::Display3DPad(), evd::MCBriefPad::Draw(), evd::HeaderPad::Draw(), evd::Display3DView::Draw(), evd::CalorPad::Draw(), evd::Display3DPad::Draw(), evd::CalorView::Draw(), evd::TWQProjectionView::Draw(), evd::CalorPad::DrawRefCurves(), evd::MCBriefPad::MCBriefPad(), evd::Ortho3DPad::Ortho3DPad(), evd::TWQMultiTPCProjectionView::SetPlaneWire(), evd::TWQProjectionView::SetPlaneWire(), evd::TWQMultiTPCProjectionView::SetRawCalib(), evd::TWQProjectionView::SetRawCalib(), evd::TQPad::TQPad(), TWireProjPad(), evd::TWQMultiTPCProjectionView::TWQMultiTPCProjectionView(), and evd::TWQProjectionView::TWQProjectionView().
|
inherited |
Provide access to the drawer for the RawData classes
Definition at line 109 of file DrawingPad.cxx.
References evd::DrawingPad::fRawDataDraw.
Referenced by evd::TQPad::BookHistogram(), evd::TQPad::Draw(), Draw(), ShowFull(), and TWireProjPad().
|
inherited |
Provide access to the drawer for RecoBase classes
Definition at line 120 of file DrawingPad.cxx.
References evd::DrawingPad::fRecoBaseDraw.
Referenced by evd::TQPad::Draw(), evd::Display3DPad::Draw(), Draw(), evd::Ortho3DPad::Draw(), and ShowFull().
void evd::TWireProjPad::SaveHitList | ( | double | i1, |
double | i2, | ||
double | y1, | ||
double | y2, | ||
double | distance, | ||
const char * | zoom_opt, | ||
bool | good_plane = true |
||
) |
Definition at line 435 of file TWireProjPad.cxx.
References Draw(), fPlane, evd::RecoDrawingOptions::fUseHitSelector, fView, evdb::EventHolder::GetEvent(), evd::DrawingPad::HitSelectorGet(), evdb::EventHolder::Instance(), and evd::HitSelector::SaveHits().
double evd::TWireProjPad::SaveSeedList | ( | std::vector< util::PxLine > | seedlines, |
double | distance | ||
) |
Definition at line 458 of file TWireProjPad.cxx.
References evd::RecoDrawingOptions::fUseHitSelector, fView, evdb::EventHolder::GetEvent(), evd::DrawingPad::HitSelectorGet(), evdb::EventHolder::Instance(), util::kBogusD, and evd::HitSelector::SaveSeedLines().
void evd::TWireProjPad::SelectOneHit | ( | double | x, |
double | y, | ||
const char * | zoom_opt | ||
) |
Definition at line 472 of file TWireProjPad.cxx.
References evd::HitSelector::ChangeHit(), Draw(), fPlane, evd::RecoDrawingOptions::fUseHitSelector, fView, evdb::EventHolder::GetEvent(), evd::DrawingPad::HitSelectorGet(), and evdb::EventHolder::Instance().
|
inline |
Receive the full set of draw options.
Definition at line 52 of file TWireProjPad.h.
void evd::TWireProjPad::SetWireRange | ( | int | i1, |
int | i2 | ||
) |
Definition at line 390 of file TWireProjPad.cxx.
References fCurrentZoom, fHisto, and fOri.
void evd::TWireProjPad::SetZoomFromView | ( | ) |
Sets the zoom parameters from the current histogram view.
Definition at line 423 of file TWireProjPad.cxx.
References fCurrentZoom, fHisto, fPlane, LOG_DEBUG, and xaxis.
void evd::TWireProjPad::SetZoomRange | ( | int | i1, |
int | i2, | ||
int | y1, | ||
int | y2 | ||
) |
Definition at line 407 of file TWireProjPad.cxx.
References fCurrentZoom, fHisto, fPlane, LOG_DEBUG, y1, and y2.
Referenced by Draw(), ShowFull(), and TWireProjPad().
|
inline |
Sets the draw option about zooming to the region of interest.
Definition at line 55 of file TWireProjPad.h.
References x, y, y1, y2, and evd::zoom_opt.
void evd::TWireProjPad::ShowFull | ( | int | override = 0 | ) |
Automatically zoom the view to a size just larger than the events. Also ensures that the aspect ratio is the same for the XZ and YZ projections.
Definition at line 344 of file TWireProjPad.cxx.
References evd::RawDrawingOptions::fDrawRawDataOrCalibWires, fPlane, fXHi, fXLo, fYHi, fYLo, GetDrawOptions(), evd::RawDataDrawer::GetRegionOfInterest(), evd::RecoBaseDrawer::GetRegionOfInterest(), evd::DrawingPad::RawDataDraw(), evd::DrawingPad::RecoBaseDraw(), SetZoomRange(), and fhicl::has_insertion_operator_impl::test().
Referenced by Draw().
|
inherited |
Provide access to the drawer for the Simulation classes
Definition at line 99 of file DrawingPad.cxx.
References evd::DrawingPad::fSimulationDraw.
Referenced by evd::MCBriefPad::Draw(), evd::Display3DPad::Draw(), Draw(), and evd::Ortho3DPad::Draw().
void evd::TWireProjPad::UpdatePad | ( | ) |
Definition at line 499 of file TWireProjPad.cxx.
References evd::DrawingPad::fPad.
Referenced by ClearandUpdatePad(), Draw(), DrawLinesinView(), and UpdateSeedCurve().
double evd::TWireProjPad::UpdateSeedCurve | ( | std::vector< recob::Seed > | SeedVec, |
int | plane | ||
) |
Definition at line 603 of file TWireProjPad.cxx.
References evdb::View2D::AddMarker(), evdb::View2D::AddPolyLine(), evdb::View2D::Draw(), fView, trkf::BezierTrack::GetLength(), trkf::BezierTrack::GetProjectedPointUVWT(), LOG_DEBUG, UpdatePad(), x, and y.
|
inline |
Definition at line 77 of file TWireProjPad.h.
|
protectedinherited |
Drawer for analysisbase objects.
Definition at line 60 of file DrawingPad.h.
Referenced by evd::DrawingPad::AnalysisBaseDraw(), and evd::DrawingPad::~DrawingPad().
|
private |
Definition at line 87 of file TWireProjPad.h.
Referenced by SetWireRange(), SetZoomFromView(), SetZoomRange(), and TWireProjPad().
|
private |
set of current draw options
Definition at line 88 of file TWireProjPad.h.
|
protectedinherited |
Drawer for detector geometry.
Definition at line 56 of file DrawingPad.h.
Referenced by evd::DrawingPad::GeometryDraw().
|
protectedinherited |
Drawer for event header info.
Definition at line 54 of file DrawingPad.h.
Referenced by evd::DrawingPad::HeaderDraw(), and evd::DrawingPad::~DrawingPad().
|
private |
Histogram to draw object on.
Definition at line 92 of file TWireProjPad.h.
Referenced by Draw(), GetWireRange(), SetWireRange(), SetZoomFromView(), SetZoomRange(), TWireProjPad(), and ~TWireProjPad().
|
private |
Orientation of the axes - see RawDrawingOptions for values.
Definition at line 99 of file TWireProjPad.h.
Referenced by Draw(), GetWireRange(), SetWireRange(), and TWireProjPad().
|
protectedinherited |
The ROOT graphics pad.
Definition at line 53 of file DrawingPad.h.
Referenced by ClearandUpdatePad(), evd::MCBriefPad::Draw(), evd::TQPad::Draw(), evd::CalorPad::Draw(), evd::Display3DPad::Draw(), Draw(), evd::Ortho3DPad::Draw(), evd::DrawingPad::DrawingPad(), DrawLinesinView(), evd::Ortho3DPad::Ortho3DPad(), evd::Ortho3DPad::SetMarkerSize(), evd::Ortho3DPad::SetZoom(), TWireProjPad(), evd::Ortho3DPad::UnZoom(), UpdatePad(), and evd::DrawingPad::~DrawingPad().
|
private |
Which plane in the detector.
Definition at line 91 of file TWireProjPad.h.
Referenced by ClearHitList(), Draw(), DrawLinesinView(), SaveHitList(), SelectOneHit(), SetZoomFromView(), SetZoomRange(), ShowFull(), and TWireProjPad().
|
protectedinherited |
Drawer for raw data.
Definition at line 58 of file DrawingPad.h.
Referenced by evd::DrawingPad::RawDataDraw(), and evd::DrawingPad::~DrawingPad().
|
protectedinherited |
Drawer for recobase objects.
Definition at line 59 of file DrawingPad.h.
Referenced by evd::DrawingPad::RecoBaseDraw(), and evd::DrawingPad::~DrawingPad().
|
protectedinherited |
Drawer for simulation objects.
Definition at line 57 of file DrawingPad.h.
Referenced by evd::DrawingPad::SimulationDraw(), and evd::DrawingPad::~DrawingPad().
|
private |
Collection of graphics objects to render.
Definition at line 93 of file TWireProjPad.h.
Referenced by Draw(), DrawLinesinView(), SaveHitList(), SaveSeedList(), SelectOneHit(), TWireProjPad(), UpdateSeedCurve(), and ~TWireProjPad().
|
private |
High value of x axis.
Definition at line 96 of file TWireProjPad.h.
Referenced by Draw(), ShowFull(), and TWireProjPad().
|
private |
Low value of x axis.
Definition at line 95 of file TWireProjPad.h.
Referenced by Draw(), ShowFull(), and TWireProjPad().
|
private |
High value of y axis.
Definition at line 98 of file TWireProjPad.h.
Referenced by Draw(), ShowFull(), and TWireProjPad().
|
private |
Low value of y axis.
Definition at line 97 of file TWireProjPad.h.
Referenced by Draw(), ShowFull(), and TWireProjPad().