Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
examples
advanced
ChargeExchangeMC
src
CexmcSimpleEnergyDeposit.cc
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
* ============================================================================
28
*
29
* Filename: CexmcSimpleEnergyDeposit.cc
30
*
31
* Description: simple energy deposit scorer
32
*
33
* Version: 1.0
34
* Created: 14.11.2009 12:48:22
35
* Revision: none
36
* Compiler: gcc
37
*
38
* Author: Alexey Radkov (),
39
* Company: PNPI
40
*
41
* ============================================================================
42
*/
43
44
#include <
G4UnitsTable.hh
>
45
#include <G4HCofThisEvent.hh>
46
#include "
CexmcSimpleEnergyDeposit.hh
"
47
48
49
CexmcSimpleEnergyDeposit::CexmcSimpleEnergyDeposit
(
const
G4String
&
name
) :
50
CexmcPrimitiveScorer
( name ), hcId( -1 )
51
{
52
}
53
54
55
G4int
CexmcSimpleEnergyDeposit::GetIndex
(
G4Step
* )
56
{
57
return
0;
58
}
59
60
61
G4bool
CexmcSimpleEnergyDeposit::ProcessHits
(
G4Step
* step,
62
G4TouchableHistory
* )
63
{
64
G4double
energyDeposit( step->
GetTotalEnergyDeposit
() );
65
66
if
( energyDeposit == 0. )
67
return
false
;
68
69
eventMap
->
add
(
GetIndex
( step ), energyDeposit );
70
71
return
true
;
72
}
73
74
75
void
CexmcSimpleEnergyDeposit::Initialize
(
G4HCofThisEvent
* hcOfEvent )
76
{
77
eventMap
=
new
CexmcEnergyDepositCollection
(
detector
->
GetName
(),
78
primitiveName
);
79
80
if
( hcId < 0 )
81
hcId =
GetCollectionID
( 0 );
82
83
hcOfEvent->
AddHitsCollection
( hcId,
eventMap
);
84
}
85
86
87
void
CexmcSimpleEnergyDeposit::EndOfEvent
(
G4HCofThisEvent
* )
88
{
89
if
(
GetVerboseLevel
() > 0 )
90
PrintAll
();
91
}
92
93
94
void
CexmcSimpleEnergyDeposit::clear
(
void
)
95
{
96
eventMap
->
clear
();
97
}
98
99
100
void
CexmcSimpleEnergyDeposit::DrawAll
(
void
)
101
{
102
}
103
104
105
void
CexmcSimpleEnergyDeposit::PrintAll
(
void
)
106
{
107
G4int
nmbOfEntries(
eventMap
->
entries
() );
108
109
if
( nmbOfEntries == 0 )
110
return
;
111
112
PrintHeader
( nmbOfEntries );
113
114
/* index is always 0 */
115
for
( CexmcEnergyDepositCollectionData::iterator
116
itr(
eventMap
->
GetMap
()->begin() );
117
itr !=
eventMap
->
GetMap
()->end(); ++itr )
118
{
119
G4cout
<<
" energy deposit: "
<<
120
G4BestUnit
( *( itr->second ),
"Energy"
) <<
G4endl
;
121
}
122
}
123
Generated on Sat May 25 2013 14:32:07 for Geant4 by
1.8.4