Geant4
10.03
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
G4CollisionInitialState.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
// GEANT 4 class implementation file
29
//
30
// History: first implementation, A. Feliciello, 30th June 1998
31
// -----------------------------------------------------------------------------
32
33
#include "
G4CollisionInitialState.hh
"
34
#include "
G4SystemOfUnits.hh
"
35
#include "
G4BCAction.hh
"
36
// Class G4CollisionInitialState
37
38
G4CollisionInitialState::G4CollisionInitialState
() :
39
theCollisionTime(
DBL_MAX
), thePrimary(0),
theTarget
(0), theFSGenerator(0)
40
{
41
}
42
43
44
G4CollisionInitialState::G4CollisionInitialState
(
G4double
time,
45
G4KineticTrack
* aPrimary,
G4KineticTrack
* aTarget)
46
{
47
theCollisionTime
= time;
48
thePrimary
= aPrimary;
49
theTarget
= aTarget;
50
theTs
.clear();
51
theFSGenerator
= 0;
52
}
53
54
// +new interface post pion:
55
G4CollisionInitialState::G4CollisionInitialState
(
G4double
time,
56
G4KineticTrack
* aPrimary,
const
G4KineticTrackVector
& aTarget,
57
G4BCAction
* aFSGenerator)
58
{
59
theCollisionTime
= time;
60
thePrimary
= aPrimary;
61
theTarget
= 0;
62
for
(
size_t
i=0; i<aTarget.size(); i++)
theTs
.push_back(aTarget[i]);
63
theFSGenerator
= aFSGenerator;
64
}
65
// -new interface post pion:
66
67
68
G4CollisionInitialState::G4CollisionInitialState
(
const
G4CollisionInitialState
&
right
)
69
{
70
theCollisionTime
= right.
theCollisionTime
;
71
thePrimary
= right.
thePrimary
;
72
theTarget
= right.
theTarget
;
73
for
(
size_t
i=0; i<right.
theTs
.size(); i++)
theTs
.push_back(right.
theTs
[i]);
74
theFSGenerator
= right.
theFSGenerator
;
75
}
76
77
G4CollisionInitialState
&
G4CollisionInitialState::operator=
(
const
G4CollisionInitialState
&
right
)
78
{
79
if
(
this
!= &right)
80
{
81
theCollisionTime
= right.
theCollisionTime
;
82
thePrimary
= right.
thePrimary
;
83
theTarget
= right.
theTarget
;
84
for
(
size_t
i=0; i<right.
theTs
.size(); i++)
85
theTs
.push_back(right.
theTs
[i]);
86
theFSGenerator
= right.
theFSGenerator
;
87
}
88
89
return
*
this
;
90
}
91
92
//#include <typeinfo>
93
94
G4KineticTrackVector
*
G4CollisionInitialState::
95
GetFinalState
()
96
{
97
// G4cerr << "what is the FS generator? "
98
// << typeid(*theFSGenerator).name()
99
// <<G4endl;
100
return
theFSGenerator
->
GetFinalState
(
thePrimary
,
theTs
);
101
}
102
103
//#include <typeinfo>
104
105
void
G4CollisionInitialState::Print
()
const
106
{
107
G4int
tgtPdg=
theTarget
?
108
theTarget
->
GetDefinition
()->
GetPDGEncoding
() : 0;
109
G4cout
<<
" collision "
<<
this
<<
" time: "
110
<<
theCollisionTime
/
second
<<
" proj: "
111
<<
thePrimary
<<
"/pdg="
<<
thePrimary
->
GetDefinition
()->
GetPDGEncoding
()
112
<<
" tgt: "
<<
theTarget
<<
"/pdg="
<< tgtPdg
113
<<
" Collision type: "
<<
typeid
(*theFSGenerator).name();
114
115
}
116
117
/*
118
std::ostream& G4CollisionInitialState::operator<<(std::ostream& out, const G4CollisionInitialState & collision)
119
{
120
G4int tgtPdg=collision.GetTarget() ?
121
collision.GetTarget()->GetDefinition()->GetPDGEncoding() : 0;
122
out << " collision " << collision << " time: "
123
<< collision.GetCollisionTime()/second << " proj: "
124
<< collision.GetPrimary() << "/pdg=" << collision.GetPrimary()->GetDefinition()->GetPDGEncoding()
125
<< " tgt: " << collision.GetTarget() << "/pdg=" << tgtPdg
126
<< " Collision type: "<< typeid(*collision.GetGenerator()).name();
127
128
return out;
129
}
130
*/
right
Definition:
F04UserTrackInformation.hh:37
G4KineticTrackVector
Definition:
G4KineticTrackVector.hh:38
G4ParticleDefinition::GetPDGEncoding
G4int GetPDGEncoding() const
Definition:
G4ParticleDefinition.hh:146
second
static constexpr double second
Definition:
G4SIunits.hh:157
G4BCAction.hh
G4int
int G4int
Definition:
G4Types.hh:78
G4CollisionInitialState::thePrimary
G4KineticTrack * thePrimary
Definition:
G4CollisionInitialState.hh:128
G4BCAction
Definition:
G4BCAction.hh:32
G4CollisionInitialState::GetFinalState
G4KineticTrackVector * GetFinalState()
Definition:
G4CollisionInitialState.cc:95
G4cout
G4GLOB_DLL std::ostream G4cout
G4BCAction::GetFinalState
virtual G4KineticTrackVector * GetFinalState(G4KineticTrack *aProjectile, std::vector< G4KineticTrack * > &theTargets)=0
G4CollisionInitialState::theTs
G4KineticTrackVector theTs
Definition:
G4CollisionInitialState.hh:130
G4CollisionInitialState
Definition:
G4CollisionInitialState.hh:46
theTarget
G4ErrorTarget * theTarget
Definition:
errprop.cc:59
G4CollisionInitialState::theTarget
G4KineticTrack * theTarget
Definition:
G4CollisionInitialState.hh:129
G4KineticTrack
Definition:
G4KineticTrack.hh:57
G4CollisionInitialState::theCollisionTime
G4double theCollisionTime
Definition:
G4CollisionInitialState.hh:127
G4CollisionInitialState::theFSGenerator
G4BCAction * theFSGenerator
Definition:
G4CollisionInitialState.hh:131
G4CollisionInitialState::operator=
G4CollisionInitialState & operator=(const G4CollisionInitialState &right)
Definition:
G4CollisionInitialState.cc:77
G4CollisionInitialState::Print
void Print() const
Definition:
G4CollisionInitialState.cc:105
G4CollisionInitialState.hh
G4double
double G4double
Definition:
G4Types.hh:76
G4SystemOfUnits.hh
G4CollisionInitialState::G4CollisionInitialState
G4CollisionInitialState()
Definition:
G4CollisionInitialState.cc:38
DBL_MAX
#define DBL_MAX
Definition:
templates.hh:83
G4KineticTrack::GetDefinition
const G4ParticleDefinition * GetDefinition() const
Definition:
G4KineticTrack.hh:210
geant4.10.03
source
processes
hadronic
models
im_r_matrix
src
G4CollisionInitialState.cc
Generated on Thu Feb 14 2002 02:29:06 for Geant4 by
1.8.8