Loading...
Searching...
No Matches
RE02Run.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/// \file runAndEvent/RE02/include/RE02Run.hh
27/// \brief Definition of the RE02Run class
28//
29//
30//
31
32#ifndef RE02Run_h
33#define RE02Run_h 1
34
35#include "G4Run.hh"
36#include "G4Event.hh"
37
38#include "G4THitsMap.hh"
39#include <vector>
40
41//---------------------------------------------------------------------
42/// User run class
43///
44/// (Description)
45/// An example implementation for the multi-functional-detector and
46/// primitive scorers.
47/// This RE02Run class has collections which accumulate event information
48/// into run information.
49///
50/// - constructor
51/// gets HitsCollection names, collection IDs and HitsMaps of
52/// primitive scorers from the muti-functional detector
53///
54/// - void RecordEvent(const G4Event*)
55/// accumulates HitsMaps over all events into a run HitsMap
56///
57/// - G4int GetNumberOfHitsMap() const
58/// gets the size of the run HitsMap
59///
60/// - G4THitsMap<G4double>* GetHitsMap(G4int i)
61/// gets a run HitsMap of the i-th primitive scorer
62///
63/// - G4THitsMap<G4double>* GetHitsMap(const G4String& detName,
64/// const G4String& colName)
65/// gets a run HitsMap with the detName and the colName
66///
67/// - G4THitsMap<G4double>* GetHitsMap(const G4String& fullName)
68/// gets a run HitsMap with the fullName
69///
70/// - void DumpAllScorer()
71/// shows all HitsMap information of this run.
72/// This method calls G4THisMap::PrintAll() for individual HitsMap.
73//---------------------------------------------------------------------
74class RE02Run : public G4Run {
75
76public:
77 // constructor and destructor.
78 // vector of multifunctionaldetector name has to given to constructor.
79 RE02Run(const std::vector<G4String> mfdName);
80 virtual ~RE02Run();
81
82public:
83 // virtual method from G4Run.
84 // The method is overriden in this class for scoring.
85 virtual void RecordEvent(const G4Event*);
86 virtual void Merge(const G4Run*);
87
88 // Access methods for scoring information.
89 // - Number of HitsMap for this RUN.
90 // This is equal to number of collections.
91 G4int GetNumberOfHitsMap() const {return fRunMap.size();}
92 // - Get HitsMap of this RUN.
93 // by sequential number, by multifucntional name and collection name,
94 // and by collection name with full path.
97 const G4String& colName);
99 // - Dump All HitsMap of this RUN.
100 // This method calls G4THisMap::PrintAll() for individual HitsMap.
101 void DumpAllScorer();
102
103private:
104 std::vector<G4String> fCollName;
105 std::vector<G4int> fCollID;
106 std::vector<G4THitsMap<G4double>*> fRunMap;
107};
108
109//
110
111#endif
User run class.
std::vector< G4String > fCollName
Definition RE02Run.hh:104
std::vector< G4THitsMap< G4double > * > fRunMap
Definition RE02Run.hh:106
G4int GetNumberOfHitsMap() const
Definition RE02Run.hh:91
virtual void Merge(const G4Run *)
Definition RE02Run.cc:165
std::vector< G4int > fCollID
Definition RE02Run.hh:105
G4THitsMap< G4double > * GetHitsMap(G4int i)
Definition RE02Run.hh:95
void DumpAllScorer()
Definition RE02Run.cc:215
virtual void RecordEvent(const G4Event *)
Definition RE02Run.cc:134
virtual ~RE02Run()
Definition RE02Run.cc:117

Applications | User Support | Publications | Collaboration