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