ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XrayFluoAnalysisManager.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file XrayFluoAnalysisManager.hh
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 //
28 // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
29 //
30 // History:
31 // -----------
32 // 11 Jul 2003 A.Mantero, code cleaning / Plotter-XML addiction
33 // Sep 2002 A.Mantero, AIDA3.0 Migration
34 // 06 Dec 2001 A.Pfeiffer updated for singleton
35 // 30 Nov 2001 Guy Barrand : migrate to AIDA-2.2.
36 // 28 Nov 2001 Elena Guardincerri Created
37 //
38 // -------------------------------------------------------------------
39 
40 #ifndef G4PROCESSTESTANALYSIS_HH
41 #define G4PROCESSTESTANALYSIS_HH
42 
43 #include "globals.hh"
44 #include <vector>
45 #include "G4ThreeVector.hh"
46 #include "XrayFluoDataSet.hh"
48 
49 class G4Step;
51 
52 //....oooOO0OOoo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
54 {
55 public:
56 
57  virtual ~XrayFluoAnalysisManager();
58 
59  void book();
60 
61  void finish();
62 
63  //fill histograms with data from XrayFluoSteppingAction
64  void analyseStepping(const G4Step* aStep);
65 
66  //fill histograms with data from XrayFluoEventAction
67  void analyseEnergyDep(G4double eDep);
68 
69  //fill histograms with data from XrayFluoPrimarygeneratorAction
71 
72  //method to call to create an instance of this class
74 
75  // methods to set the flag for the storage of the space of phases into ntuple
76  inline void PhaseSpaceOn(){phaseSpaceFlag = true;}
77 
78  inline void PhaseSpaceOff(){phaseSpaceFlag = false;}
79 
80  //method to chenge the name of the output file
82 
83  const std::pair<G4double,G4String> GetEmittedParticleEnergyAndType();
84 
86 
87  void SetPhysicFlag(G4bool);
88 
89 private:
90  //private constructor in order to create a singleton
92 
94 
96 
98 
99  std::vector<G4double>* gunParticleEnergies;
100  std::vector<G4String>* gunParticleTypes;
101 
102  //Instance for singleton implementation this is the returned
104 
105  //pointer to the analysis messenger
107 
109 
111 
112 };
113 #endif
114 
115 
116