44#ifndef G4UCNBOUNDARYPROCESS_HH
45#define G4UCNBOUNDARYPROCESS_HH 1
139 G4bool UseMicroRoughnessReflection;
140 G4bool DoMicroRoughnessReflection;
179 void BoundaryProcessVerbose()
const;
186 G4int nNoMPT, nNoMRT, nNoMRCondition;
187 G4int nAbsorption, nEzero, nFlip;
188 G4int aSpecularReflection, bSpecularReflection;
189 G4int bLambertianReflection;
190 G4int aMRDiffuseReflection, bMRDiffuseReflection;
191 G4int nSnellTransmit, mSnellTransmit;
192 G4int aMRDiffuseTransmit;
206 {aMaterialPropertiesTable1 = MPT;}
209 {aMaterialPropertiesTable2 = MPT;}
237 return (Energy > FermiPotDiff);
243 UseMicroRoughnessReflection = active;
249 return UseMicroRoughnessReflection;
G4double condition(const G4ErrorSymMatrix &m)
G4UCNBoundaryProcessStatus
static G4Neutron * NeutronDefinition()
G4double GetMeanFreePath(const G4Track &aTrack, G4double, G4ForceCondition *condition)
void BoundaryProcessSummary() const
virtual ~G4UCNBoundaryProcess()
G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep)
void SetMicroRoughness(G4bool)
G4ThreeVector MRreflectHigh(G4double, G4double, G4double, G4ThreeVector, G4ThreeVector, G4double, G4double, G4double &)
void SetMaterialPropertiesTable2(G4UCNMaterialPropertiesTable *MPT)
G4UCNBoundaryProcess(const G4String &processName="UCNBoundaryProcess", G4ProcessType type=fUCN)
G4bool GetMicroRoughness()
G4UCNBoundaryProcessStatus GetStatus() const
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
void SetMaterialPropertiesTable1(G4UCNMaterialPropertiesTable *MPT)
G4ThreeVector MRreflect(G4double, G4ThreeVector, G4ThreeVector, G4double, G4double)