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