9 #ifndef EVD_TWQPROJECTION_H 10 #define EVD_TWQPROJECTION_H 14 #include "RQ_OBJECT.h" 24 class TRootEmbeddedCanvas;
30 class DataProductChangeTracker_t;
49 std::map<int, double>
wmin;
50 std::map<int, double>
wmax;
51 std::map<int, double>
tmin;
52 std::map<int, double>
tmax;
62 RQ_OBJECT(
"evd::TWQProjectionView")
68 const char*
Description()
const {
return "Time/Wire/Charge Projections"; }
69 const char*
PrintTag()
const {
return "twq-proj"; }
71 void Draw(
const char* opt=
"");
74 static void MouseDispatch(
int plane,
void * wqpv);
77 void ChangeWire(
int plane);
80 void SetMouseZoomRegion(
int plane);
82 void SelectPoint(
int plane);
83 void SelectHit(
int plane);
94 void SetUpZoomButtons();
95 void SetUpClusterButtons();
96 void SetUpDrawingButtons();
97 void SetUpTPCselection();
98 void SetUpPositionFind();
99 void SetZoom(
int plane,
int wirelow,
int wirehi,
int timelo,
int timehi,
bool StoreZoom=
true);
100 void ZoomInterest(
bool flag=
true);
102 void ResetRegionsOfInterest();
105 void SetClusterInterest();
109 void SetSeedInterest();
110 void ClearLastSeed();
111 void ClearAllSeeds();
112 void SetSeeds(
int plane);
114 void SetClusters(
int plane);
116 void SetZoomInterest();
117 void SetZoomFromView();
119 void DrawPads(
const char* opt=
"");
122 double FindLineLength();
123 void ClearEndPoints();
124 void ToggleEndPointMarkers();
126 void RadioButtonsDispatch(
int parameter);
127 void SaveSelection();
128 void ClearSelection();
129 double UpdateSeedCurve();
134 void SetTestFlag(
int number=1);
212 void SetAutomaticZoomMode(
bool bSet =
true);
215 static std::string TotalElementsString(
unsigned int NElements);
221 #endif //EVD_TWQPROJECTION_H std::vector< ZoomOptions > fPrevZoomOpt
TGNumberEntry * fCryoInput
current cryostat
TGRadioButton * fToggleClusters
Use make cluster setting.
HeaderPad * fHeaderPad
Show header information.
std::deque< util::PxLine > pline
list of lines in each WireProjPad used for calculating 2d and 3d angles, also making seeds (eventuall...
Namespace for general, non-LArSoft-specific utilities.
const char * Description() const
TGTextButton * fCalcAngle
Calculate the 2D & 3D angles between lines.
TGTextButton * fZoomBack
Unzoom on iteresting region.
double fLastThreshold
Kludge to prevent double drawing when changing threshold.
Detects the presence of a new event or data product.
TGTextButton * fZoomInterest
Zoom on iteresting region.
bool isZoomAutomatic
true if user did not ask for custom zoom
TGNumberEntry * fTPCInput
current TPC
TGCheckButton * fToggleShowMarkers
Toggle the ShowEndPointMarkersSetting.
TQPad * fWireQ
Histogram of charge vs time on selected wire.
std::map< int, double > wmax
TGTextView * fXYZPosition
Display the xyz position.
const char * PrintTag() const
TGNumberEntry * fDistance
Distance from line to find hits in cluster.
std::deque< util::PxPoint > ppoints
list of points in each WireProjPad used for x,y,z finding
TGTextButton * fFindEndpoint
Calculate XYZ position of two points in wire planes.
TGRadioButton * fRawCalibDraw
Draw raw and calibrated information.
TGRadioButton * fToggleSeeds
Use the make seed setting.
Base class for define a detector display.
TGCheckButton * fToggleAutoZoom
Toggle the autozoom setting.
TGCompositeFrame * fMetaFrame
needed for the side frame
TGTextButton * fClear
Clears the selected points in an event.
TGTextButton * fClearPPoints
Clear current list of End Points.
TGRadioButton * fToggleZoom
Use zoom setting.
TGLabel * fTotalTPCLabel
total TPCs in the current cryostat
TGTextButton * fRedraw
Button to force redraw.
TGCompositeFrame * fVFrame
needed for the side frame
TGNumberEntry * fThresEntry
ADC threshold to display.
std::vector< TQPad * > fPlaneQ
charge on each plane
std::vector< util::PxLine > seedlines
list of lines in each WireProjPad used for calculating 2d and 3d angles, also making seeds (eventuall...
TGRadioButton * fCalibDraw
Draw calibrated information only.
TGRadioButton * fRawDraw
Draw Raw information only.
TGTextButton * fUnZoomInterest
Unzoom on iteresting region.
TGNumberEntry * fPlaneEntry
Plane number displayed.
std::map< int, double > tmin
TGCheckButton * fMCOn
Display MC truth information.
TGTextButton * fClearLastSeed
Clears the selected points in an event.
MCBriefPad * fMC
Short summary of MC event.
std::vector< TWireProjPad * > fPlanes
time vs wire projection for each plane
TGCheckButton * fGreyScale
Display gray or color scale.
util::DataProductChangeTracker_t * fLastEvent
keeps track of latest event
TGNumberEntry * fWireEntry
Wire number displayed.
std::map< int, double > wmin
std::map< int, double > tmax