Geant4
10.03.p03
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
G4MuMinusCapturePrecompound.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
// $Id: G4MuMinusCapturePrecompound.hh 79691 2014-03-12 12:58:09Z gcosmo $
27
//
28
//-----------------------------------------------------------------------------
29
//
30
// GEANT4 Class header file
31
//
32
// File name: G4MuMinusCapturePrecompound
33
//
34
// Author: V.Ivanchenko
35
//
36
// Creation date: 24 April 2012 on base of G4MuonMinusCaptureAtRest
37
//
38
// Class Description:
39
//
40
// Sampling of mu- capture by atomic nucleus
41
//
42
//-----------------------------------------------------------------------------
43
//
44
// Modifications:
45
//
46
//-----------------------------------------------------------------------------
47
48
#ifndef G4MuMinusCapturePrecompound_h
49
#define G4MuMinusCapturePrecompound_h 1
50
51
#include "
globals.hh
"
52
#include "
G4Nucleus.hh
"
53
#include "
G4Track.hh
"
54
#include "
G4HadProjectile.hh
"
55
#include "
G4HadSecondary.hh
"
56
#include "
G4HadFinalState.hh
"
57
#include "
G4HadronicInteraction.hh
"
58
#include "
G4ParticleDefinition.hh
"
59
#include "
G4DynamicParticle.hh
"
60
#include "
G4ThreeVector.hh
"
61
#include "
G4Fancy3DNucleus.hh
"
62
63
class
G4VPreCompoundModel
;
64
65
class
G4MuMinusCapturePrecompound
:
public
G4HadronicInteraction
66
{
67
public
:
68
69
G4MuMinusCapturePrecompound
(
G4VPreCompoundModel
* ptr=0);
70
71
~G4MuMinusCapturePrecompound
();
72
73
G4HadFinalState
*
ApplyYourself
(
const
G4HadProjectile
&aTrack,
74
G4Nucleus
& targetNucleus );
75
76
void
ModelDescription
(std::ostream& outFile)
const
;
77
78
private
:
79
80
inline
void
AddNewParticle(
const
G4ParticleDefinition
* aParticle,
81
G4ThreeVector
& direction,
82
G4double
kinEnergy);
83
84
// hide assignment operator as private
85
G4MuMinusCapturePrecompound
& operator=(
const
G4MuMinusCapturePrecompound
&
right
);
86
G4MuMinusCapturePrecompound
(
const
G4MuMinusCapturePrecompound
& );
87
88
G4HadFinalState
result;
89
G4Fancy3DNucleus
fNucleus;
90
const
G4ParticleDefinition
* fProton;
91
const
G4ParticleDefinition
* fNeutron;
92
G4VPreCompoundModel
* fPreCompound;
93
G4double
fMuMass;
94
G4double
fThreshold;
95
G4double
fTime;
96
97
};
98
99
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
100
101
inline
void
G4MuMinusCapturePrecompound::AddNewParticle(
102
const
G4ParticleDefinition
* aParticle,
103
G4ThreeVector
& direction,
104
G4double
kinEnergy)
105
{
106
G4DynamicParticle
* dp =
new
G4DynamicParticle
(aParticle,
107
direction,
108
kinEnergy);
109
G4HadSecondary
hs(dp);
110
hs.SetTime(fTime);
111
result.
AddSecondary
(hs);
112
}
113
114
#endif
115
116
G4MuMinusCapturePrecompound::G4MuMinusCapturePrecompound
G4MuMinusCapturePrecompound(G4VPreCompoundModel *ptr=0)
Definition:
G4MuMinusCapturePrecompound.cc:64
G4MuMinusCapturePrecompound
Definition:
G4MuMinusCapturePrecompound.hh:65
G4HadFinalState
Definition:
G4HadFinalState.hh:45
CLHEP::Hep3Vector
Definition:
ThreeVector.h:41
G4Nucleus
Definition:
G4Nucleus.hh:50
right
Definition:
F04UserTrackInformation.hh:37
G4Track.hh
G4HadSecondary
Definition:
G4HadSecondary.hh:35
G4HadProjectile.hh
G4MuMinusCapturePrecompound::ModelDescription
void ModelDescription(std::ostream &outFile) const
Definition:
G4MuMinusCapturePrecompound.cc:263
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
G4HadProjectile
Definition:
G4HadProjectile.hh:39
G4DynamicParticle.hh
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:72
G4HadFinalState.hh
G4HadronicInteraction
Definition:
G4HadronicInteraction.hh:64
G4VPreCompoundModel
Definition:
G4VPreCompoundModel.hh:59
G4Nucleus.hh
G4ParticleDefinition.hh
globals.hh
G4HadSecondary.hh
G4HadronicInteraction.hh
G4MuMinusCapturePrecompound::~G4MuMinusCapturePrecompound
~G4MuMinusCapturePrecompound()
Definition:
G4MuMinusCapturePrecompound.cc:85
G4MuMinusCapturePrecompound::ApplyYourself
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
Definition:
G4MuMinusCapturePrecompound.cc:93
G4HadFinalState::AddSecondary
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
Definition:
G4HadFinalState.hh:61
G4double
double G4double
Definition:
G4Types.hh:76
G4ThreeVector.hh
G4Fancy3DNucleus.hh
G4Fancy3DNucleus
Definition:
G4Fancy3DNucleus.hh:54
source
geant4.10.03.p03
source
processes
hadronic
stopping
include
G4MuMinusCapturePrecompound.hh
Generated on Tue Nov 28 2017 21:44:18 for Geant4 by
1.8.5