9 #ifndef EVD_TWQPROJECTION_H
10 #define EVD_TWQPROJECTION_H
12 #include "RQ_OBJECT.h"
14 #include "nuevdb/EventDisplayBase/Canvas.h"
16 class DetectorClocksData;
17 class DetectorPropertiesData;
26 class TGCompositeFrame;
35 class DataProductChangeTracker_t;
48 std::map<int, double>
wmin;
49 std::map<int, double>
wmax;
50 std::map<int, double>
tmin;
51 std::map<int, double>
tmax;
57 RQ_OBJECT(
"evd::TWQProjectionView")
66 return "Time/Wire/Charge Projections";
74 void Draw(
const char*
opt =
"");
101 void SetZoom(
int plane,
int wirelow,
int wirehi,
int timelo,
int timehi,
bool StoreZoom =
true);
184 std::deque<util::PxPoint>
186 std::deque<util::PxLine>
189 std::vector<util::PxLine>
208 #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...
const char * Description() const
void SetMouseZoomRegion(int plane)
int DrawLine(int plane, util::PxLine &pline)
void SetTestFlag(int number=1)
TGTextButton * fCalcAngle
Calculate the 2D & 3D angles between lines.
then echo unknown compiler flag
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
void ForceRedraw()
Forces a redraw of the window.
TGNumberEntry * fTPCInput
current TPC
TGCheckButton * fToggleShowMarkers
Toggle the ShowEndPointMarkersSetting.
TQPad * fWireQ
Histogram of charge vs time on selected wire.
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.
std::vector< TQPad * > fPlaneQ
charge on each plane
void SetAutomaticZoomMode(bool bSet=true)
Records whether we are automatically zooming to the region of interest.
std::map< int, double > wmin
TWQProjectionView(TGMainFrame *mf)
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.
void ResetRegionsOfInterest()
Clear all the regions of interest.
TGLabel * fTotalTPCLabel
total TPCs in the current cryostat
void SetUpDrawingButtons()
void ChangeWire(int plane)
TGTextButton * fRedraw
Button to force redraw.
TGCompositeFrame * fVFrame
needed for the side frame
void SelectHit(int plane)
void Draw(const char *opt="")
TGNumberEntry * fThresEntry
ADC threshold to display.
double FindLineLength(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp)
void SelectTPC()
select TPC from GUI
std::vector< util::PxLine > seedlines
list of lines in each WireProjPad used for calculating 2d and 3d angles, also making seeds (eventuall...
bool OnNewEvent()
Returns if a new event is detected; if so, it also resets accordingly.
void DrawPads(const char *opt="")
TGRadioButton * fCalibDraw
Draw calibrated information only.
std::map< int, double > wmax
void ZoomInterest(bool flag=true)
void SetUpClusterButtons()
void SetClusterInterest()
TGRadioButton * fRawDraw
Draw Raw information only.
TGTextButton * fUnZoomInterest
Unzoom on iteresting region.
void RadioButtonsDispatch(int parameter)
TGNumberEntry * fPlaneEntry
Plane number displayed.
Contains all timing reference information for the detector.
void ToggleEndPointMarkers()
static std::string TotalElementsString(unsigned int NElements)
Returns a string visualizing the total number of elements.
static void MouseDispatch(int plane, void *wqpv)
TGCheckButton * fMCOn
Display MC truth information.
void SetClusters(int plane)
void SetZoom(int plane, int wirelow, int wirehi, int timelo, int timehi, bool StoreZoom=true)
MCBriefPad * fMC
Short summary of MC event.
std::vector< TWireProjPad * > fPlanes
time vs wire projection for each plane
void SelectPoint(int plane)
TGCheckButton * fGreyScale
Display gray or color scale.
std::map< int, double > tmin
util::DataProductChangeTracker_t * fLastEvent
keeps track of latest event
TGNumberEntry * fWireEntry
Wire number displayed.
std::map< int, double > tmax