53 ed <<
"Particle `" << particleName <<
"' not found !" <<
G4endl;
54 G4Exception(
"G4ChannelingOptrChangeCrossSection(...)",
66 for ( std::map< const G4BiasingProcessInterface*, G4BOptnChangeCrossSection* >::iterator
69 it++ )
delete (*it).second;
84 G4String operationName =
"channelingChangeXS-" + processName;
180 if ( analogInteractionLength >
DBL_MAX/10. )
return 0;
182 G4double analogXS = 1./analogInteractionLength;
189 if(trackdata==
nullptr)
return 0;
194 switch (search->second) {
199 XStransformation = trackdata->
GetNuD();
202 XStransformation = trackdata->
GetElD();
222 if ( previousOperation == 0 ){
227 if ( previousOperation != operation ){
229 ed <<
" Logic problem in operation handling !" <<
G4endl;
230 G4Exception(
"G4ChannelingOptrChangeCrossSection::ProposeOccurenceBiasingOperation(...)",
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4ChannelingOptrChangeCrossSection(G4String particleToBias, G4String name="ChannelingChangeXS")
std::ostringstream G4ExceptionDescription
static G4ParticleTable * GetParticleTable()
virtual ~G4ChannelingOptrChangeCrossSection()
void UpdateForStep(G4double stepLength)
G4double GetCurrentInteractionLength() const
G4VBiasingOperation * GetPreviousOccurenceBiasingOperation() const
G4ParticleDefinition * GetDefinition() const
const std::vector< const G4BiasingProcessInterface * > & GetPhysicsBiasingProcessInterfaces() const
static G4int GetIndex(const G4String &)
G4bool GetInteractionOccured() const
void SetInteractionOccured()
G4VProcess * GetWrappedProcess() const
const G4String & GetProcessName() const
void SetBiasedCrossSection(G4double xst)
G4ProcessType GetProcessType() const
virtual G4VBiasingOperation * ProposeOccurenceBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
const G4ParticleDefinition * fParticleToBias
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4VAuxiliaryTrackInformation * GetAuxiliaryTrackInformation(G4int idx) const
G4double GetPreviousStepSize() const
G4ProcessManager * GetProcessManager() const
std::unordered_map< std::string, G4ChannelingDensityRatio > fProcessToDensity
virtual void OperationApplied(const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced)
const G4BiasingProcessSharedData * GetSharedData() const
std::map< const G4BiasingProcessInterface *, G4BOptnChangeCrossSection * > fChangeCrossSectionOperations
G4int GetProcessSubType() const