Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4BiasingOperation.h
Go to the documentation of this file.
1#ifndef TG4_BIASING_OPERATION_HH
2#define TG4_BIASING_OPERATION_HH
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2019 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
18#include "G4VBiasingOperation.hh"
19
20class G4HadronInelasticProcess;
21
23{
24 // The biasing operation implemented in this class is indeed a "trick" to
25 // use FTFP+INCLXX instead of FTFP+BERT for determining the final-state of
26 // proton, neutron, pion+, pion- inelastic interactions happening in one
27 // particular logical volume, Tracking_region, where the biasing is applied.
28 public:
29 TG4BiasingOperation(G4String name);
30 virtual ~TG4BiasingOperation();
31 virtual G4VParticleChange* ApplyFinalStateBiasing(
32 const G4BiasingProcessInterface*, const G4Track*, const G4Step*, G4bool&);
33 // Unused :
34 virtual const G4VBiasingInteractionLaw* ProvideOccurenceBiasingInteractionLaw(
35 const G4BiasingProcessInterface*, G4ForceCondition&)
36 {
37 return 0;
38 }
39 virtual G4double DistanceToApplyOperation(
40 const G4Track*, G4double, G4ForceCondition*)
41 {
42 return DBL_MAX;
43 }
44 virtual G4VParticleChange* GenerateBiasingFinalState(
45 const G4Track*, const G4Step*)
46 {
47 return 0;
48 }
49
50 private:
51 G4HadronInelasticProcess* fProtonInelasticProcess;
52 G4HadronInelasticProcess* fNeutronInelasticProcess;
53 G4HadronInelasticProcess* fPionPlusInelasticProcess;
54 G4HadronInelasticProcess* fPionMinusInelasticProcess;
55};
56
57#endif
virtual G4double DistanceToApplyOperation(const G4Track *, G4double, G4ForceCondition *)
G4HadronInelasticProcess * fPionMinusInelasticProcess
TG4BiasingOperation(G4String name)
virtual G4VParticleChange * ApplyFinalStateBiasing(const G4BiasingProcessInterface *, const G4Track *, const G4Step *, G4bool &)
G4HadronInelasticProcess * fProtonInelasticProcess
virtual G4VParticleChange * GenerateBiasingFinalState(const G4Track *, const G4Step *)
G4HadronInelasticProcess * fPionPlusInelasticProcess
G4HadronInelasticProcess * fNeutronInelasticProcess
virtual const G4VBiasingInteractionLaw * ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface *, G4ForceCondition &)