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  std::string a_outFileName = ""
69  );
70 // #endif
80  void createPartTimeEDTree(std::string a_lvName,
81  double a_tCutWindow
82  );
90  void createFluxTree(std::string a_lvName,
91  std::string a_particleName,
92  std::vector<double> a_fluxBoundaryList,
93  int a_dim,
94  std::string a_outfileName= "fluxBoundaryTree.root"
95  );
96 
100  TH1* getTotalEnergyHistory();
101  FullEvent getFullEvent(int a_eventNumber);
102 
103  virtual ~SimAna();
104 private:
107  int m_lastEvent;
108  void setTreeName();
109  void setBranchName();
110 
111 };
112 
113 
114 }
115 #endif
Definition: SimulationDataStructures.h:163
Definition: SimAna.h:17
virtual ~SimAna()
Definition: SimAna.cpp:842
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 createLightOutputTree(std::string a_lvName, std::vector< std::string > a_particleNames, std::string a_scintName="EJ309", std::string a_outFileName="")
Definition: SimAna.cpp:481
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:631
FullEvent getFullEvent(int a_eventNumber)
Definition: SimAna.cpp:836
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:819
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:740
Definition: PostProcBase.h:21
Definition: AbsLYAna.h:7