Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4gspart.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// $Id$
28//
29#include "G4ProcessManager.hh"
30#include "G3toG4.hh"
31#include "G3PartTable.hh"
32
33void PG4gspart(G4String *tokens)
34{
35 // fill the parameter containers
36 G3fillParams(tokens,PTgspart);
37
38 // interpret the parameters
39 G4String chnpar = Spar[0];
40 G4int ipart = Ipar[0];
41 G4int itrtyp = Ipar[1];
42 G4int nwb = Ipar[2];
43 G4double amass = Rpar[0];
44 G4double charge = Rpar[1];
45 G4double tlife = Rpar[2];
46 G4double *ubuf = &Rpar[3];
47
48 G4gspart(ipart,chnpar,itrtyp,amass,charge,tlife,ubuf,nwb);
49}
50
53{
54}
55
56#ifdef OMIT_CODE
57void G4gspart(G4int ipart, G4String chnpar, G4int itrtyp, G4double amass,
58 G4double charge, G4double tlife, G4double*, G4int)
59{
60 // Handle conversion of itrtyp into an appropriate ProcessManager
61 G4ProcessManager *mgr = 0;
62 switch (itrtyp) {
63 case 1:
64 // gamma
65// $$$ mgr = gammaProcessManager;
66 break;
67 case 2:
68 // electron
69// $$$ mgr = electronProcessManager;
70 break;
71 case 3:
72 // neutron
73// $$$ mgr = neutronProcessManager;
74 break;
75 case 4:
76 // hadron
77// $$$ mgr = hadronProcessManager;
78 break;
79 case 5:
80 // muon
81// $$$ mgr = muonProcessManager;
82 break;
83 case 6:
84 // geantino
85// $$$ mgr = geantinoProcessManager;
86 break;
87 case 7:
88 // heavy ion
89// $$$ mgr = heavyIonProcessManager;
90 break;
91 case 8:
92 // light ion
93// $$$ mgr = lightIonProcessManager;
94 break;
95 default:
96// $$$ mgr = theProcessManager;
97 break;
98 }
99
100 // Create the particle; provide parameters and a process mgr.
101 G4ParticleDefinition *part = new G4ParticleDefinition(chnpar);
102 part->SetProcessManager(mgr);
103 part->SetPDGMass(amass);
104 part->SetPDGCharge(charge);
105 part->SetPDGLifeTime(tlife);
106
107 // add to particle table
108 G3Part.put(&ipart, part);
109}
110#endif
G3G4DLL_API G3PartTable G3Part
Definition: clparse.cc:58
G3G4DLL_API G4int Ipar[1000]
Definition: clparse.cc:66
void G3fillParams(G4String *tokens, const char *ptypes)
Definition: clparse.cc:219
G3G4DLL_API G4double Rpar[1000]
Definition: clparse.cc:67
G3G4DLL_API G4String Spar[1000]
Definition: clparse.cc:68
#define PTgspart
Definition: G3toG4.hh:67
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
void G4gspart(G4int, G4String, G4int, G4double, G4double, G4double, G4double *, G4int)
Definition: G4gspart.cc:51
void PG4gspart(G4String *tokens)
Definition: G4gspart.cc:33
void SetPDGLifeTime(G4double aLifeTime)
void SetProcessManager(G4ProcessManager *aProcessManager)