Berkeley Nuclear Data Software
SimAna.h
Go to the documentation of this file.
1 //Constructed by Josh Brown.
2 //brown.ja@berkeley.edu
3 #ifndef _SIM_ANA_H_
4 #define _SIM_ANA_H_
5 
6 #include "PostProcBase.h"
8 
9 #include "TH1.h"
10 
11 #include <string>
12 namespace NSDG4
13 {
16 class SimAna : public PostProcBase<FullEvent>
17 {
18 public:
21  void printTrackInfo(int a_entry);
22 
28  std::ostream& printEvents(int a_num =1,
29  std::vector<std::string> a_partList = {},
30  std::ostream& a_stream = std::cout
31  );
32 
33 
36  void accumulateFirstStepInfo(std::string a_lvName,
37  std::string a_particleName =""
38  );
41  void vertexStepInfoTree(std::string a_lvName,
42  std::string a_particleName =""
43  );
45  void createParticleTTree(std::string a_lvName,
46  std::vector<std::string> a_ignoreList
47  );
48  void createEnergyDepositionTree(std::string a_lvName,
49  std::vector<std::string> a_particleNames
50  );
56  void createTotalEnergyDepositionTree(std::string a_lvName);
57 
58  //MCGUIRE
59  void investigateMultipleScatters(std::string a_lvName);
60  //MCGUIRE
61 
62 // #ifdef OSLY_PRESENT
65  void createLightOutputTree(std::string a_lvName,
66  std::vector<std::string> a_particleNames,
67  std::string a_scintName = "EJ309"
68  );
69 // #endif
79  void createPartTimeEDTree(std::string a_lvName,
80  double a_tCutWindow
81  );
89  void createFluxTree(std::string a_lvName,
90  std::string a_particleName,
91  std::vector<double> a_fluxBoundaryList,
92  int a_dim,
93  std::string a_outfileName= "fluxBoundaryTree.root"
94  );
95 
99  TH1* getTotalEnergyHistory();
100  FullEvent getFullEvent(int a_eventNumber);
101 
102  virtual ~SimAna();
103 private:
106  int m_lastEvent;
107  void setTreeName();
108  void setBranchName();
109 
110 };
111 
112 
113 }
114 #endif
Definition: SimulationDataStructures.h:163
Definition: SimAna.h:17
virtual ~SimAna()
Definition: SimAna.cpp:826
std::ostream & printEvents(int a_num=1, std::vector< std::string > a_partList={}, std::ostream &a_stream=std::cout)
Definition: SimAna.cpp:36
void createEnergyDepositionTree(std::string a_lvName, std::vector< std::string > a_particleNames)
in the volume specified and the vertex info
Definition: SimAna.cpp:217
void createTotalEnergyDepositionTree(std::string a_lvName)
Definition: SimAna.cpp:341
void investigateMultipleScatters(std::string a_lvName)
Definition: SimAna.cpp:399
void vertexStepInfoTree(std::string a_lvName, std::string a_particleName="")
Definition: SimAna.cpp:120
void printTrackInfo(int a_entry)
Definition: SimAna.cpp:23
void accumulateFirstStepInfo(std::string a_lvName, std::string a_particleName="")
Definition: SimAna.cpp:78
void createPartTimeEDTree(std::string a_lvName, double a_tCutWindow)
Definition: SimAna.cpp:615
FullEvent getFullEvent(int a_eventNumber)
Definition: SimAna.cpp:820
void createParticleTTree(std::string a_lvName, std::vector< std::string > a_ignoreList)
creates a tree with the particle names and times of birth
Definition: SimAna.cpp:175
TH1 * getTotalEnergyHistory()
Definition: SimAna.cpp:803
void createFluxTree(std::string a_lvName, std::string a_particleName, std::vector< double > a_fluxBoundaryList, int a_dim, std::string a_outfileName="fluxBoundaryTree.root")
Definition: SimAna.cpp:724
void createLightOutputTree(std::string a_lvName, std::vector< std::string > a_particleNames, std::string a_scintName="EJ309")
Definition: SimAna.cpp:481
Definition: PostProcBase.h:21
Definition: AbsLYAna.h:7