BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
BgsPhysicsList.hh
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File and Version Information:
3// $Id: BgsPhysicsList.hh,v 1.1 2007/10/12 07:30:20 caogf Exp $
4//
5// Description:
6// Class BgsPhysicsList
7//
8// Environment:
9// Software developed for the BaBar Detector at the SLAC B-Factory.
10//
11// Author List:
12// Bill Lockman
13//
14// Copyright Information:
15// Copyright (C) 2000 U.C. Santa Cruz
16//
17// Created:
18// Modification history:
19//
20//-----------------------------------------------------------------------------
21
22#ifndef BgsPhysicsList_h
23#define BgsPhysicsList_h 1
24
25#include "G4VUserPhysicsList.hh"
26#include "globals.hh"
27
28//#include "G3Data/GVertex.hh"
29
30class BgsLooperDeath;
31class BgsChargedStepDeath;
32class BgsPhysicsRegistrar;
33class BgsControl;
34
35class G4PhotoElectricEffect;
36class G4ComptonScattering;
37class G4GammaConversion;
38class G4MultipleScattering;
39class G4eIonisation;
40class G4eBremsstrahlung;
41class G4eplusAnnihilation;
42class G4MuIonisation;
43class G4MuBremsstrahlung;
44class G4MuPairProduction;
45class G4hIonisation;
46class G4HadronElasticProcess;
47class G4LElastic;
48class G4ParticleDefinition;
49
50class G4ProcessManager;
51class G4VProcess;
52class G4CascadeInterface;
53
54
55class BgsPhysicsList: public G4VUserPhysicsList
56{
57public:
58// BgsPhysicsList( BgsControl *theControl,
59// BgsPhysicsRegistrar *pr);
61 virtual ~BgsPhysicsList();
62
63 // define cuts
64 void SetCuts();
65
66 void SetStatusEmProcess();
67
68protected:
69 // Construct particle and physics
70 void ConstructParticle();
71 void ConstructProcess();
72
73 // methods to construct particles
74 void ConstructBosons();
75 void ConstructLeptons();
76 void ConstructMesons();
77 void ConstructBaryons();
78 void ConstructIons();
79
80 // methods to construct physics processes and register them
81// void AddBgsTransportation( G4double maxTrackStepSize, G4double
82//maxVacStepSize, const G4String& vacName );
83// void AddParameterisation();
84 void ConstructGeneral();
85 void ConstructEM();
86 void ConstructLeptHad();
87 void ConstructHad();
89 void ConstructIonFix();
91
92/*
93 void AddProcess( G4VProcess* process,
94 G4int ordAtRestDoIt,
95 G4int ordAlongSteptDoIt,
96 G4int ordPostStepDoIt,
97 G4ProcessManager* manager,
98 const char* category,
99 GVertex::Cause cause=GVertex::unknown );
100
101 void AddDiscreteProcess( G4VProcess* process,
102 G4ProcessManager* manager,
103 const char* category,
104 GVertex::Cause cause=GVertex::unknown );
105
106 void AddElasticHadronProcess( G4HadronElasticProcess* process,
107 G4LElastic* model,
108 G4ProcessManager* manager,
109 const char* category,
110 GVertex::Cause cause=GVertex::unknown );
111
112
113*/
114private:
115// BgsControl* control;
116
117 G4bool first;
118
119// BgsPhysicsRegistrar* physicsRegistrar;
120
121// BgsLooperDeath* theLooperDeath;
122// BgsChargedStepDeath* theStepDeath;
123
124 // Bertini cascade model for inelastic p, n, pi
125
126 G4CascadeInterface* bertini_model;
127};
128
129#endif
void ConstructParticle()
virtual ~BgsPhysicsList()
void ConstructNeutronFix()
void ConstructNeutrinoGenocide()
void SetStatusEmProcess()