ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CexmcRun.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CexmcRun.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  *
29  * Filename: CexmcRun.hh
30  *
31  * Description: run data (acceptances etc.)
32  *
33  * Version: 1.0
34  * Created: 19.12.2009 23:52:51
35  * Revision: none
36  * Compiler: gcc
37  *
38  * Author: Alexey Radkov (),
39  * Company: PNPI
40  *
41  * =============================================================================
42  */
43 
44 #ifndef CEXMC_RUN_HH
45 #define CEXMC_RUN_HH
46 
47 #include <map>
48 #include <G4Run.hh>
49 
50 
51 typedef std::map< G4int, G4int > CexmcNmbOfHitsInRanges;
52 
53 typedef CexmcNmbOfHitsInRanges::value_type CexmcNmbOfHitsInRangesData;
54 
55 
56 class CexmcRun : public G4Run
57 {
58  public:
59  CexmcRun();
60 
61  public:
62  void IncrementNmbOfHitsSampled( G4int index );
63 
65 
67 
69 
70  void IncrementNmbOfOrphanHits( G4int index );
71 
73 
75 
76  void IncrementNmbOfSavedEvents( void );
77 
78  void IncrementNmbOfSavedFastEvents( void );
79 
80  public:
81  const CexmcNmbOfHitsInRanges & GetNmbOfHitsSampled( void ) const;
82 
83  const CexmcNmbOfHitsInRanges & GetNmbOfHitsSampledFull( void ) const;
84 
86  const;
87 
89  const;
90 
91  const CexmcNmbOfHitsInRanges & GetNmbOfOrphanHits( void ) const;
92 
94 
96 
97  G4int GetNmbOfSavedEvents( void ) const;
98 
99  G4int GetNmbOfSavedFastEvents( void ) const;
100 
101  private:
103 
105 
107 
109 
111 
113 
115 
117 
119 };
120 
121 
122 inline const CexmcNmbOfHitsInRanges &
124 {
125  return nmbOfHitsSampled;
126 }
127 
128 
129 inline const CexmcNmbOfHitsInRanges &
131 {
132  return nmbOfHitsSampledFull;
133 }
134 
135 
136 inline const CexmcNmbOfHitsInRanges &
138 {
140 }
141 
142 
143 inline const CexmcNmbOfHitsInRanges &
145 {
147 }
148 
149 
150 inline const CexmcNmbOfHitsInRanges &
152 {
153  return nmbOfOrphanHits;
154 }
155 
156 
158 {
160 }
161 
162 
164 {
166 }
167 
168 
170 {
171  return nmbOfSavedEvents;
172 }
173 
174 
176 {
177  return nmbOfSavedFastEvents;
178 }
179 
180 
181 #endif
182