52 fEminusIonisation(0),fPIonisation(0),
53 fUse_eionisation(true),fUse_pionisation(true),
54 fUse_brem(true),fUse_compton(true),fUse_ms(true),
55 fUse_egain_fluctuation(true),fUse_peeffect(true),
56 fEmin_adj_models(1.*
keV), fEmax_adj_models(1.*
MeV),
57 fCS_biasing_factor_compton(1.),fCS_biasing_factor_brem(1.),
58 fCS_biasing_factor_ionisation(1.),fCS_biasing_factor_PEeffect(1.)
271 theeInverseIonisationProjToProjCase =
273 theeInverseIonisationModel);
274 theeInverseIonisationProdToProjCase =
276 theeInverseIonisationModel);
293 true,
"Inv_eBrem",theeInverseBremsstrahlungModel);
295 false,
"Inv_eBrem1",theeInverseBremsstrahlungModel);
316 theeInverseComptonModel);
318 theeInverseComptonModel);
335 theInversePhotoElectricModel);
353 "Inv_pIon",thepInverseIonisationModel);
355 "Inv_pIon1",thepInverseIonisationModel);
375 if (particleName ==
"e-") {
383 pmanager->
AddProcess(theeminusBremsstrahlung);
385 RegisterEnergyLossProcess(theeminusBremsstrahlung,particle);
417 if (particleName ==
"adj_e-") {
426 pmanager->
AddProcess(theContinuousGainOfEnergy);
443 pmanager->
AddProcess(theAlongStepWeightCorrection);
449 pmanager->
AddProcess(theeInverseIonisationProjToProjCase);
450 pmanager->
AddProcess(theeInverseIonisationProdToProjCase);
460 pmanager->
AddProcess(theeInverseBremsstrahlungProjToProjCase);
463 theeInverseBremsstrahlungProjToProjCase,
468 pmanager->
AddProcess(theeInverseComptonProdToProjCase);
480 pmanager->
AddProcess(thepInverseIonisationProdToProjCase);
492 if(particleName ==
"adj_gamma") {
496 pmanager->
AddProcess(theAlongStepWeightCorrection);
501 pmanager->
AddProcess(theeInverseBremsstrahlungProdToProjCase);
504 theeInverseBremsstrahlungProdToProjCase,
515 if (particleName ==
"gamma") {
519 RegisterEmProcess(theComptonScattering,particle);
524 RegisterEmProcess(thePEEffect,particle);
538 pmanager->
AddProcess(theeplusMultipleScattering);
600 pmanager->
AddProcess(theContinuousGainOfEnergy);
617 pmanager->
AddProcess(theAlongStepWeightCorrection);
623 pmanager->
AddProcess(thepInverseIonisationProjToProjCase);
626 thepInverseIonisationProjToProjCase,
664 G4cout <<
"G4AdjointPhysicsList::SetCuts:";
static G4Geantino * GeantinoDefinition()
static G4AdjointSimManager * GetInstance()
static G4AdjointGamma * AdjointGamma()
static G4Electron * ElectronDefinition()
static G4KaonPlus * KaonPlusDefinition()
static G4AdjointGamma * AdjointGammaDefinition()
static G4MuonPlus * MuonPlusDefinition()
G4AdjointPhysicsMessenger * fPhysicsMessenger
void SetProcessManager(G4ProcessManager *aProcessManager)
void ConstructAdjointParticles()
void SetCutValue(G4double aCut, const G4String &pname)
void SetProcessOrderingToFirst(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4bool fUse_egain_fluctuation
virtual G4bool IsApplicable(const G4ParticleDefinition &)
virtual void ConstructParticle()
static G4KaonMinus * KaonMinusDefinition()
static G4Proton * ProtonDefinition()
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4KaonZero * KaonZeroDefinition()
static G4AntiKaonZero * AntiKaonZeroDefinition()
static G4AdjointElectron * AdjointElectron()
static G4KaonZeroShort * KaonZeroShortDefinition()
G4ProcessManager * GetProcessManager() const
virtual void ConstructProcess()
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4double fEmax_adj_models
static G4AntiProton * AntiProtonDefinition()
void SetLowEnergyLimit(G4double aVal)
static G4AntiNeutron * AntiNeutronDefinition()
static G4PionZero * PionZeroDefinition()
G4double fCS_biasing_factor_PEeffect
static G4AdjointProton * AdjointProtonDefinition()
virtual ~G4AdjointPhysicsList()
void SetHighEnergyLimit(G4double aVal)
void RegisterAdjointParticle(G4ParticleDefinition *aPartDef)
G4double fEmin_adj_models
void SetLossFluctuationFlag(bool aBool)
void SetDirectEnergyLossProcess(G4VEnergyLossProcess *aProcess)
const G4String & GetParticleName() const
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
G4double fCS_biasing_factor_brem
static G4PionMinus * PionMinusDefinition()
void SetLossFluctuations(G4bool val)
static G4KaonZeroLong * KaonZeroLongDefinition()
void SetVerboseLevel(G4int value)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4NeutrinoE * NeutrinoEDefinition()
void SetDirectParticle(G4ParticleDefinition *p)
static G4AntiNeutrinoMu * AntiNeutrinoMuDefinition()
static G4PionPlus * PionPlusDefinition()
static G4Proton * Proton()
void SetUseMatrix(G4bool aBool)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void SetDirectProcess(G4VEmProcess *aProcess)
static G4Positron * PositronDefinition()
static G4EtaPrime * EtaPrimeDefinition()
void SetLossFluctuations(G4bool val)
G4bool fUse_gamma_conversion
static G4AdjointProton * AdjointProton()
Definition of the G4AdjointPhysicsList class.
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
static G4AdjointElectron * AdjointElectronDefinition()
void ConsiderParticleAsPrimary(const G4String &particle_name)
virtual void SetCSBiasingFactor(G4double aVal)
static G4MuonMinus * MuonMinusDefinition()
G4eIonisation * fEminusIonisation
std::vector< G4InuclElementaryParticle >::iterator particleIterator
static G4ChargedGeantino * ChargedGeantinoDefinition()
static G4Electron * Electron()
static G4AntiNeutrinoE * AntiNeutrinoEDefinition()
static G4OpticalPhoton * OpticalPhotonDefinition()
static G4NeutrinoMu * NeutrinoMuDefinition()
static G4Neutron * NeutronDefinition()
static G4AdjointCSManager * GetAdjointCSManager()
G4double fCS_biasing_factor_ionisation
Definition of the G4AdjointPhysicsMessenger class.
G4hIonisation * fPIonisation
static G4Eta * EtaDefinition()
static G4Gamma * GammaDefinition()
G4double fCS_biasing_factor_compton