Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4PionRadiativeDecayChannel.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// ------------------------------------------------------------
27// GEANT 4 class header file
28//
29// History:
30// 30 July 2007 P.Gumplinger
31// Samples Radiative Pion Decay
32// Reference:
33// TRIUMF/PIENU Technote:
34// "Inclusion of pi->enug in the Monte Carlo"
35// by M. Blecher
36//
37// ------------------------------------------------------------
38//
39//
40//
41//
42
43//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
44//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
45
46#ifndef G4PionRadiativeDecayChannel_h
47#define G4PionRadiativeDecayChannel_h 1
48
49#include "globals.hh"
50#include "Randomize.hh"
51#include "G4ThreeVector.hh"
52#include "G4VDecayChannel.hh"
53
55{
56 // Class Decription
57 // This class describes radiative pion decay kinemtics, but
58 // gives incorrect energy spectrum for neutrino
59
60 public: // With Description
61
62 //Constructors
63 G4PionRadiativeDecayChannel(const G4String& theParentName,
64 G4double theBR);
65 // Destructor
67
68 protected:
69 // Copy constructor and assignment operator
72
73 protected:
75
76 public: // With Description
77
79
80 private:
81
82 G4double beta;
83
84 G4double cib;
85 G4double csdp;
86 G4double csdm;
87 G4double cif;
88 G4double cig;
89
90 G4double xl, yl, xu, yu, d2wmax;
91
92 G4double D2W(const G4double x, const G4double y);
93
94};
95
96inline G4double G4PionRadiativeDecayChannel::D2W(const G4double x,
97 const G4double y)
98{
99 G4double d2w = cib*(1.-y)*(1.+((1.-x)*(1.-x)))/((x*x)*(x+y-1.)) +
100 csdp*(1.-x)*((x+y-1.)*(x+y-1.)) +
101 csdm*(1.-x)*((1.-y)*(1.-y)) +
102 cif*(x-1.)*(1.-y)/x +
103 cig*(1.-y)*(1.-x+(x*x)/(x+y-1.))/x;
104 return d2w;
105}
106
107#endif
double G4double
Definition: G4Types.hh:64
G4PionRadiativeDecayChannel & operator=(const G4PionRadiativeDecayChannel &)
virtual G4DecayProducts * DecayIt(G4double)