SimulationDrawer.h
Go to the documentation of this file.
1 ///
2 /// \file SimulationDrawer.h
3 /// \brief Render the objects from the Simulation package
4 /// \author messier@indiana.edu
5 /// \version $Id: SimulationDrawer.h,v 1.14 2012-09-26 21:40:55 bckhouse Exp $
6 ///
7 #ifndef EVD_SIMULATIONDRAWER_H
8 #define EVD_SIMULATIONDRAWER_H
9 #include <string>
10 #include <vector>
11 #include <map>
12 #include <set>
13 
14 namespace art { class Event; }
15 namespace evdb { class View2D; }
16 namespace evdb { class View3D; }
17 namespace geo {
18  class Geometry;
19  class OfflineChan;
20 }
21 namespace simb { class MCTruth; }
22 namespace sim {
23  class Particle;
24  class FLSHitList;
25 }
26 
27 namespace evd {
29  public:
32  public:
33  // Drawing functions
34  void MCTruthShortText(const art::Event& evt,
36  void MCTruthLongText(const art::Event& evt,
37  evdb::View2D* view);
38 
39  void MCTruthVertices2D(const art::Event& evt,
40  evdb::View2D* xzview,
41  evdb::View2D* yzview);
42  void MCTruthVertices3D(const art::Event& evt,
43  evdb::View3D* view);
44 
45  void MCTruthVectors2D(const art::Event& evt,
46  evdb::View2D* xzview,
47  evdb::View2D* yzview);
48  void MCTruthVectors3D(const art::Event& evt,
49  evdb::View3D* view);
50 
51  void MCTruthTrajectories2D(const art::Event& evt,
52  evdb::View2D* xzview,
53  evdb::View2D* yzview);
54  void MCTruthTrajectories3D(const art::Event& evt,
55  evdb::View3D* view);
56 
57  void FLSHit2D(const art::Event& evt,
58  evdb::View2D* xzview,
59  evdb::View2D* yzview);
60  void FLSHit3D(const art::Event& evt,
61  evdb::View3D* xzview);
62 
63  void HiLite(int trkId, bool hlt=true);
64 
65 #ifndef __CINT__
66  void GetLimits(const art::Event* evt,
67  double& xmin, double& xmax,
68  double& ymin, double& ymax,
69  double& zmin, double& zmax,
70  const std::set<geo::OfflineChan>& hmap = {});
71 #endif /* __CINT __ */
72 
73  void GetTimeLimits(const art::Event* evt,
74  double& tmin, double& tmax);
75 
76  private:
77  int GetMCTruth(const art::Event& evt,
78  std::vector<simb::MCTruth>& mctruth);
79 
80  int GetFLSHits(const art::Event& evt,
81  const char* which,
82  std::vector<sim::FLSHitList>& flshits);
83 
84  int GetVertexPoints(const art::Event& evt,
85  std::vector<double>& x,
86  std::vector<double>& y,
87  std::vector<double>& z);
88 
89  std::string ShortInteractionSuffix(int iType) const;
90 
91  /// Helper function for \ref MCTruthLongText
92  void PrintParticleAndOffspring(std::stringstream& ss,
93  const sim::Particle* part,
95  int depth) const;
96 
97  /// Helper function for MCTruthTrajectories[2|3]D
98  void MCTruthTrajectoriesAnyD(const art::Event& evt,
99  evdb::View2D* xzview,
100  evdb::View2D* yzview,
101  evdb::View3D* view3D);
102 
103  private:
104  std::map<int,bool> fHighlite;
105 
106  };
107 }
108 
109 #endif
110 ////////////////////////////////////////////////////////////////////////
std::map< std::string, double > xmax
Float_t ss
Definition: plot.C:24
float GetLimits(TH1F *plot, float &hi, float &low)
Manage all things related to colors for the event display.
Definition: Display3DPad.h:11
Double_t ymax
Definition: plot.C:25
TString part[npart]
Definition: Style.C:32
nova event display
int evt
Example routine for calculating the "ultimate e-m mother" of a particle in a simulated event...
Definition: FillTruth.h:16
z
Definition: test.py:28
const XML_Char * prefix
Definition: expat.h:380
This class describes a particle created in the detector Monte Carlo simulation.
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
Double_t ymin
Definition: plot.C:24
Helper for AttenCurve.
Definition: Path.h:10
std::map< int, bool > fHighlite
enum BeamMode string