XZYZProjectionsView.h
Go to the documentation of this file.
1 ///
2 /// \file XZYZProjectionsView.h
3 /// \brief A view showing XZ and YZ readout planes
4 /// \author messier@indiana.edu
5 /// \version $Id: XZYZProjectionsView.h,v 1.6 2011-05-03 17:16:39 messier Exp $
6 ///
7 #ifndef EVD_XZYZPROJECTIONSVIEW_H
8 #define EVD_XZYZPROJECTIONSVIEW_H
10 #include "RQ_OBJECT.h"
11 
12 namespace evd
13 {
14  class MCBriefPad;
15  class TZProjPad;
16  class TQPad;
17  class HeaderPad;
18  class SliceButtonBar;
19 
20  /// View of event showing the XZ and YZ readout planes
22  public:
23  RQ_OBJECT("evd::XZYZProjectionsView")
24  public:
25  XZYZProjectionsView(TGMainFrame* mf);
27 
28  const char* Description() const { return "XZ/YZ Projections"; }
29  const char* PrintTag() const { return "xzyz-proj"; }
30  void Draw(const char* opt="");
31 
32  void RangeChanged();
33  void AspectRatioHandler( int event, int key, int py, TObject *sel);
34  void FixAspectRatio();
35  void SetAspectRatio();
36 
37  private:
38  HeaderPad* fHeaderPad; ///< Show header information
39  TQPad* fRawQ; ///< Histogram of raw charges
40  TQPad* fRawT; ///< Histogram of raw times
41  //TQPad* fCalQ; ///< Histogram of calibrated charges
42  //TQPad* fCalT; ///< Histogram of calibrated times
43  MCBriefPad* fMC; ///< Short summary of MC event
44  SliceButtonBar* fSliceButtonBar; ///< Bar with slice controls
45 
46  TZProjPad* fXview; ///< X - Z projection of the event
47  TZProjPad* fYview; ///< Y - Z projection of the event
48 
49  // X and Y locations which determine the layout
50  double fX0;
51  double fX1;
52  double fX3;
53  double fX2;
54 
55  double fY0;
56  double fY1;
57  double fY2;
58  double fY4;
59  double fY3;
60 
61  /// A function that calculates the range to zoom out to
62  /// on an axis.
63  std::vector<float> GetRightAxesRange( int pix, float cm, float min,
64  float max, float boundmin,
65  float boundmax, int tpix, float tcm);
66 
67  };
68 }
69 
70 #endif
71 ////////////////////////////////////////////////////////////////////////
const char * Description() const
HeaderPad * fHeaderPad
Show header information.
Controls for navigating between slices.
TZProjPad * fYview
Y - Z projection of the event.
MCBriefPad * fMC
Short summary of MC event.
Base class for define a detector display.
const char * PrintTag() const
View of event showing the XZ and YZ readout planes.
std::vector< float > GetRightAxesRange(int pix, float cm, float min, float max, float boundmin, float boundmax, int tpix, float tcm)
A drawing pad for an XZ or ZY.
Definition: TZProjPad.h:32
nova event display
static float min(const float a, const float b, const float c)
Definition: absgeo.cxx:45
XZYZProjectionsView(TGMainFrame *mf)
void AspectRatioHandler(int event, int key, int py, TObject *sel)
SliceButtonBar * fSliceButtonBar
Bar with slice controls.
void Draw(const char *opt="")
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
TZProjPad * fXview
X - Z projection of the event.
static constexpr Double_t cm
Definition: Munits.h:140
TQPad * fRawT
Histogram of raw times.
TQPad * fRawQ
Histogram of raw charges.