Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4KL3DecayChannel.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// G4KL3DecayChannel
27
28// Author: H.Kurashige, 30 May 1997
29// --------------------------------------------------------------------
30#ifndef G4KL3DecayChannel_hh
31#define G4KL3DecayChannel_hh 1
32
33#include "G4ios.hh"
34#include "globals.hh"
35#include "G4VDecayChannel.hh"
36
38{
39 public:
40
41 G4KL3DecayChannel(const G4String& theParentName,
42 G4double theBR,
43 const G4String& thePionName,
44 const G4String& theLeptonName,
45 const G4String& theNutrinoName);
46 virtual ~G4KL3DecayChannel();
47 // Constructor & destructor
48
50
51 inline void SetDalitzParameter(G4double aLambda, G4double aXi );
53 inline G4double GetDalitzParameterXi() const;
54
55 protected:
56
59 // Copy constructor and assignment operator
60
61 enum { idPi=0, idLepton=1, idNutrino=2 };
62 // Assignment of daughter particles for arrays of daughters[] etc.
63
64 void PhaseSpace(G4double Mparent,
65 const G4double* Mdaughter,
66 G4double* Edaughter,
67 G4double* Pdaughter);
68 // Calculate momentum of daughters
69
71 G4double Enu, G4double massPi, G4double massL,
72 G4double massNu );
73 // Dalitz Plot Density
74 // KL3 decay Dalitz Plot Density, see Chounet et al Phys. Rep. 4, 201
75 // Arguments
76 // Epi: kinetic enregy of pion
77 // El: kinetic enregy of lepton (e or mu)
78 // Enu: kinetic energy of nutrino
79 // Constants
80 // pLambda : linear energy dependence of f+
81 // pXi0 : = f+(0)/f-
82 // pNorm : normalization factor
83
84 private:
85
87
88 private:
89
90 G4double pLambda = 0.0;
91 G4double pXi0 = 0.0;
92 // Used in DalitzDensity() coefficients
93};
94
95// ------------------------
96// Inline methods
97// ------------------------
98
99inline
101{
102 pLambda = aLambda;
103 pXi0 = aXi;
104}
105
106inline
108{
109 return pLambda;
110}
111
112inline
114{
115 return pXi0;
116}
117
118#endif
double G4double
Definition: G4Types.hh:83
void PhaseSpace(G4double Mparent, const G4double *Mdaughter, G4double *Edaughter, G4double *Pdaughter)
virtual G4DecayProducts * DecayIt(G4double)
G4double GetDalitzParameterLambda() const
G4double GetDalitzParameterXi() const
void SetDalitzParameter(G4double aLambda, G4double aXi)
G4double DalitzDensity(G4double parentmass, G4double Epi, G4double El, G4double Enu, G4double massPi, G4double massL, G4double massNu)
G4KL3DecayChannel & operator=(const G4KL3DecayChannel &)