62 Ionisation_DissociationDecay)
65 A1B1_DissociationDecay)
68 B1A1_DissociationDecay)
74 DissociativeAttachment)
166theDecayChannel)
const
169 G4double RMSMotherMoleculeDisplacement(0.);
173 case Ionisation_DissociationDecay:
174 RMSMotherMoleculeDisplacement = 2.0 * nanometer;
176 case A1B1_DissociationDecay:
177 RMSMotherMoleculeDisplacement = 0. * nanometer;
179 case B1A1_DissociationDecay:
180 RMSMotherMoleculeDisplacement = 0. * nanometer;
183 RMSMotherMoleculeDisplacement = 2.0 * nanometer;
185 case DissociativeAttachment:
186 RMSMotherMoleculeDisplacement = 0. * nanometer;
190 if (RMSMotherMoleculeDisplacement == 0)
197 return RandDirection;
207 vector<G4ThreeVector> theProductDisplacementVector(nbProducts);
209 typedef map<const G4MoleculeDefinition*, G4double> RMSmap;
216 case Ionisation_DissociationDecay:
240 for (
int i = 0; i < nbProducts; i++)
243 G4double theRMSDisplacement = theRMSmap[pProduct->GetDefinition()];
245 if (theRMSDisplacement == 0.)
252 theProductDisplacementVector[i] = RandDirection;
257 case A1B1_DissociationDecay:
264 G4double theRMSDisplacement = 2.4 * nanometer;
268 for (
G4int i = 0; i < nbProducts; i++)
274 theProductDisplacementVector[i] = -1. / 18. * RandDirection;
278 theProductDisplacementVector[i] = +17. / 18. * RandDirection;
283 case B1A1_DissociationDecay:
291 G4double theRMSDisplacement = 0.8 * nanometer;
296 for (
G4int i = 0; i < nbProducts; ++i)
299 if (pProduct->GetDefinition() == G4H2::Definition())
302 theProductDisplacementVector[i] = -2. / 18. * RandDirection;
307 G4ThreeVector OxygenDisplacement = +16. / 18. * RandDirection;
308 G4double OHRMSDisplacement = 1.1 * nanometer;
310 auto OHDisplacement =
315 OHDisplacement = 0.5 * OHDisplacement;
319 OHDisplacement = -0.5 * OHDisplacement;
322 theProductDisplacementVector[i] =
323 OHDisplacement + OxygenDisplacement;
355 for (
G4int i = 0; i < nbProducts; i++)
358 auto theRMSDisplacement = theRMSmap[pProduct->GetDefinition()];
360 if (theRMSDisplacement == 0)
368 theProductDisplacementVector[i] = RandDirection;
377 case DissociativeAttachment:
384 G4double theRMSDisplacement = 0.8 * nanometer;
389 for (
G4int i = 0; i < nbProducts; ++i)
392 if (pProduct->GetDefinition() == G4H2::Definition())
398 theProductDisplacementVector[i] = -16. / 18. * RandDirection;
406 G4ThreeVector OxygenDisplacement = +2. / 18. * RandDirection;
407 G4double OHRMSDisplacement = 1.1 * nanometer;
409 auto OHDisplacement =
414 OHDisplacement = 0.5 * OHDisplacement;
418 OHDisplacement = -0.5 * OHDisplacement;
420 theProductDisplacementVector[i] = OHDisplacement +
428 return theProductDisplacementVector;
437 static const double inverse_sqrt_3 = 1. / sqrt(3.);
438 double sigma = Rrms * inverse_sqrt_3;
439 double x = G4RandGauss::shoot(0., sigma);
440 double y = G4RandGauss::shoot(0., sigma);
441 double z = G4RandGauss::shoot(0., sigma);
#define G4CT_COUNT_IMPL(enumName, flagName)
@ fMeesungnoensolid2002eSolvation
@ fTerrisol1990eSolvation
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4ThreeVector GetMotherMoleculeDisplacement(const G4MolecularDissociationChannel *) const override
std::vector< G4ThreeVector > GetProductsDisplacement(const G4MolecularDissociationChannel *) const override
G4ThreeVector radialDistributionOfElectron() const
G4ThreeVector radialDistributionOfProducts(G4double r_rms) const
virtual ~G4DNAWaterDissociationDisplacer()
static G4Electron_aq * Definition()
static G4EmParameters * Instance()
G4DNAModelSubType DNAeSolvationSubType() const
static G4H3O * Definition()
static G4Hydrogen * Definition()
Product * GetProduct(int) const
DisplacementType GetDisplacementType() const
G4int GetNbProducts() const
const G4String & GetName() const
static G4OH * Definition()
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
static void GetPenetration(G4double energy, G4ThreeVector &displacement)