Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AnalysisManager.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 #ifndef ANALYSISMANAGER_HH
27 #define ANALYSISMANAGER_HH
28 
29 #include "globals.hh"
30 #include <fstream>
31 
32 
33 
35 
36  public:
37  // The analysis class is designed to be a singleton (i.e. only one instance
38  // can exist). A member function called Instance is defined, which allows
39  // the user to get a pointer to the existing instance or to create it if
40  // it does not yet exist
41  //
42  static AnalysisManager* Instance();
43 
44  // The analysis class instance can be deleted by calling the Destroy
45  // method (NOTE: The class destructor is protected, and can thus not be
46  // called directly):
47  static void Destroy();
48 
49 // // Member function used to score the total energy deposit
50 // void ScoreTot(G4double eTot);
51 
52  // Member function used to dump hits
53  void Score(G4double eDep);
54 
55  protected:
56  // Constructor (protected):
57  AnalysisManager();
58 
59  // Destructor (protected):
60  virtual ~AnalysisManager();
61 
62  // Prevent copying
63  AnalysisManager(const AnalysisManager& only);
64  const AnalysisManager& operator=(const AnalysisManager& only);
65 
66 private:
67  // The static instance of the AnalysisManager class:
68  static AnalysisManager* instance;
69  std::ofstream outFile;
70  std::ofstream outFileT;
71 };
72 
73 
74 #endif // ANALYSISMANAGER_HH
static AnalysisManager * Instance()
static void Destroy()
const AnalysisManager & operator=(const AnalysisManager &only)
virtual ~AnalysisManager()
double G4double
Definition: G4Types.hh:76
void Score(G4double eDep)