Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GammaRayTelAnalysis.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // $Id: GammaRayTelAnalysis.hh 82268 2014-06-13 13:47:30Z gcosmo $
28 // ------------------------------------------------------------
29 // GEANT 4 class header file
30 // CERN Geneva Switzerland
31 //
32 //
33 // ------------ GammaRayTelAnalysis ------
34 // by R.Giannitrapani, F. Longo & G.Santin (30 nov 2000)
35 //
36 // 03.04.2013 F.Longo and L.Pandola
37 // - migrated to G4AnalysisManager
38 //
39 // 07.12.2001 A.Pfeiffer
40 // - integrated Guy's addition of the ntuple
41 //
42 // 06.12.2001 A.Pfeiffer
43 // - updating to new design (singleton)
44 //
45 // 22.11.2001 G.Barrand
46 // - Adaptation to AIDA
47 // -------------------------------------------------------------------
48 // Class description:
49 // Example of analysis in a simulation application (histograms, ntuples etc.)
50 // This class follows the singleton design pattern;
51 // it is responsible for the analysis management and algorithms
52 //
53 // -------------------------------------------------------------------//
54 
55 #ifndef GammaRayTelAnalysis_h
56 #define GammaRayTelAnalysis_h 1
57 
58 #include "globals.hh"
59 #include <vector>
60 #include "G4ThreeVector.hh"
61 
62 // uncomment g4xml.hh and comment g4root.hh for a XML-based output file
63 
64 #include "g4root.hh"
65 //#include "g4xml.hh"
66 
67 
70 
72 public:
73  virtual ~GammaRayTelAnalysis();
74 
75 public:
76 
77 
78  // void BeginOfRun(G4int n);
79 
80  void BeginOfRun();
81  void EndOfRun();
82  void EndOfEvent(G4int flag);
83 
84  void Init();
85  void Finish();
86 
87  void SetHisto2DMode(G4String str) {histo2DMode = str;};
88  G4String GetHisto2DMode() {return histo2DMode;};
89 
90  void InsertPositionXZ(double x, double z);
91  void InsertPositionYZ(double y, double z);
92  void InsertEnergy(double en);
93  void InsertHits(int nplane);
94 
95  void setNtuple(float E, float p, float x, float y, float z);
96 
98 
99 private:
100 
102 
103  //void plot1D(IHistogram1D* histo);
104  //void plot2D(IHistogram2D* histo);
105  void Plot();
106 
107 private:
108  static GammaRayTelAnalysis* instance;
109 
110  const GammaRayTelDetectorConstruction* GammaRayTelDetector;
111 
112  G4String histo2DMode;
113  G4String histoFileName;
114 
115  GammaRayTelAnalysisMessenger* analysisMessenger;
116 };
117 
118 
119 #endif
void setNtuple(float E, float p, float x, float y, float z)
static GammaRayTelAnalysis * getInstance()
const char * p
Definition: xmltok.h:285
void InsertPositionXZ(double x, double z)
tuple x
Definition: test.py:50
int G4int
Definition: G4Types.hh:78
void SetHisto2DMode(G4String str)
void InsertPositionYZ(double y, double z)
void EndOfEvent(G4int flag)
void InsertHits(int nplane)
tuple z
Definition: test.py:28
void InsertEnergy(double en)