Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ExcitationHandler Class Reference

#include <G4ExcitationHandler.hh>

Public Member Functions

 G4ExcitationHandler ()
 ~G4ExcitationHandler ()
G4ReactionProductVectorBreakItUp (const G4Fragment &theInitialState)
void ModelDescription (std::ostream &outFile) const
void Initialise ()
void SetEvaporation (G4VEvaporation *ptr, G4bool isLocal=false)
void SetMultiFragmentation (G4VMultiFragmentation *ptr)
void SetFermiModel (G4VFermiBreakUp *ptr)
void SetPhotonEvaporation (G4VEvaporationChannel *ptr)
void SetDeexChannelsType (G4DeexChannelType val)
void SetMaxZForFermiBreakUp (G4int aZ)
void SetMaxAForFermiBreakUp (G4int anA)
void SetMaxAandZForFermiBreakUp (G4int anA, G4int aZ)
void SetMinEForMultiFrag (G4double anE)
G4VEvaporationGetEvaporation ()
G4VMultiFragmentationGetMultiFragmentation ()
G4VFermiBreakUpGetFermiModel ()
G4VEvaporationChannelGetPhotonEvaporation ()
void SetOPTxs (G4int opt)
void UseSICB ()
 G4ExcitationHandler (const G4ExcitationHandler &right)=delete
const G4ExcitationHandleroperator= (const G4ExcitationHandler &right)=delete
G4bool operator== (const G4ExcitationHandler &right) const =delete
G4bool operator!= (const G4ExcitationHandler &right) const =delete

Detailed Description

Definition at line 63 of file G4ExcitationHandler.hh.

Constructor & Destructor Documentation

◆ G4ExcitationHandler() [1/2]

G4ExcitationHandler::G4ExcitationHandler ( )

Definition at line 88 of file G4ExcitationHandler.cc.

89 : minExcitation(1.*CLHEP::eV)
90{
91 thePartTable = G4ParticleTable::GetParticleTable();
92 theTableOfIons = thePartTable->GetIonTable();
94
95 theFermiModel = nullptr;
96 thePhotonEvaporation = new G4PhotonEvaporation();
97 SetEvaporation(new G4Evaporation(thePhotonEvaporation), true);
98 theResults.reserve(60);
99 results.reserve(30);
100 theEvapList.reserve(30);
101
102 theElectron = G4Electron::Electron();
103 theNeutron = G4Neutron::NeutronDefinition();
104 theProton = G4Proton::ProtonDefinition();
105 theDeuteron = G4Deuteron::DeuteronDefinition();
106 theTriton = G4Triton::TritonDefinition();
107 theHe3 = G4He3::He3Definition();
108 theAlpha = G4Alpha::AlphaDefinition();
109 theLambda = G4Lambda::Lambda();
110
111 fLambdaMass = theLambda->GetPDGMass();
112
113 if(fVerbose > 1) { G4cout << "### New handler " << this << G4endl; }
114}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
static G4Alpha * AlphaDefinition()
Definition G4Alpha.cc:78
static G4Deuteron * DeuteronDefinition()
Definition G4Deuteron.cc:85
static G4Electron * Electron()
Definition G4Electron.cc:91
void SetEvaporation(G4VEvaporation *ptr, G4bool isLocal=false)
static G4He3 * He3Definition()
Definition G4He3.cc:85
static G4Lambda * Lambda()
Definition G4Lambda.cc:105
static G4Neutron * NeutronDefinition()
Definition G4Neutron.cc:96
static G4NistManager * Instance()
static G4ParticleTable * GetParticleTable()
static G4Proton * ProtonDefinition()
Definition G4Proton.cc:85
static G4Triton * TritonDefinition()
Definition G4Triton.cc:85

Referenced by G4ExcitationHandler(), operator!=(), operator=(), and operator==().

◆ ~G4ExcitationHandler()

G4ExcitationHandler::~G4ExcitationHandler ( )

Definition at line 116 of file G4ExcitationHandler.cc.

117{
118 delete theMultiFragmentation;
119 delete theFermiModel;
120 if(isEvapLocal) { delete theEvaporation; }
121}

◆ G4ExcitationHandler() [2/2]

G4ExcitationHandler::G4ExcitationHandler ( const G4ExcitationHandler & right)
delete

Member Function Documentation

◆ BreakItUp()

G4ReactionProductVector * G4ExcitationHandler::BreakItUp ( const G4Fragment & theInitialState)

Definition at line 303 of file G4ExcitationHandler.cc.

304{
305 // Variables existing until end of method
306 G4Fragment * theInitialStatePtr = new G4Fragment(theInitialState);
307 if (fVerbose > 1) {
308 G4cout << "@@@@@@@@@@ Start G4Excitation Handler @@@@@@@@@@@@@ " << G4endl;
309 G4cout << theInitialState << G4endl;
310 }
311 if (!isInitialised) { Initialise(); }
312
313 theResults.clear();
314 theEvapList.clear();
315
316 // Variables to describe the excited configuration
317 G4double exEnergy = theInitialState.GetExcitationEnergy();
318 G4int A = theInitialState.GetA_asInt();
319 G4int Z = theInitialState.GetZ_asInt();
320 G4int nL = theInitialState.GetNumberOfLambdas();
321
322 // for hyper-nuclei subtract lambdas from the projectile fragment
323 G4double lambdaF = 0.0;
324 G4LorentzVector lambdaLV = theInitialStatePtr->GetMomentum();
325 if (0 < nL) {
326
327 // is it a stable hyper-nuclei?
328 if(A >= 3 && A <= 5 && nL <= 2) {
329 G4int pdg = 0;
330 if(3 == A && 1 == nL) {
331 pdg = 1010010030;
332 } else if(5 == A && 2 == Z && 1 == nL) {
333 pdg = 1010020050;
334 } else if(4 == A) {
335 if(1 == Z && 1 == nL) {
336 pdg = 1010010040;
337 } else if(2 == Z && 1 == nL) {
338 pdg = 1010020040;
339 } else if(0 == Z && 2 == nL) {
340 pdg = 1020000040;
341 } else if(1 == Z && 2 == nL) {
342 pdg = 1020010040;
343 }
344 }
345 // initial state is one of hyper-nuclei
346 if (0 < pdg) {
347 const G4ParticleDefinition* part = thePartTable->FindParticle(pdg);
348 if(nullptr != part) {
349 G4ReactionProduct* theNew = new G4ReactionProduct(part);
350 G4ThreeVector dir = G4ThreeVector( 0.0, 0.0, 0.0 );
351 if ( lambdaLV.vect().mag() > CLHEP::eV ) {
352 dir = lambdaLV.vect().unit();
353 }
354 G4double mass = part->GetPDGMass();
355 G4double etot = std::max(lambdaLV.e(), mass);
356 dir *= std::sqrt((etot - mass)*(etot + mass));
357 theNew->SetMomentum(dir);
358 theNew->SetTotalEnergy(etot);
359 theNew->SetFormationTime(theInitialState.GetCreationTime());
360 theNew->SetCreatorModelID(theInitialState.GetCreatorModelID());
362 v->push_back(theNew);
363 return v;
364 }
365 }
366 }
367 G4double mass = theInitialStatePtr->GetGroundStateMass();
368 lambdaF = nL*(fLambdaMass - CLHEP::neutron_mass_c2)/mass;
369
370 // de-excitation with neutrons instead of lambda inside the fragment
371 theInitialStatePtr->SetZAandMomentum(lambdaLV*(1. - lambdaF), Z, A, 0);
372
373 // 4-momentum not used in de-excitation
374 lambdaLV *= lambdaF;
375 } else if (0 > nL) {
376 ++fWarnings;
377 if(fWarnings < 0) {
379 ed << "Fragment with negative L: Z=" << Z << " A=" << A << " L=" << nL
380 << " Eex/A(MeV)= " << exEnergy/A;
381 G4Exception("G4ExcitationHandler::BreakItUp()","had0034",JustWarning,ed,"");
382 }
383 }
384
385 // In case A <= 1 the fragment will not perform any nucleon emission
387 theResults.push_back( theInitialStatePtr );
388
389 // check if a fragment is stable
390 } else if (exEnergy < minExcitation && nist->GetIsotopeAbundance(Z, A) > 0.0) {
391 theResults.push_back( theInitialStatePtr );
392
393 // JMQ 150909: first step in de-excitation is treated separately
394 // Fragments after the first step are stored in theEvapList
395 } else {
396 theEvapList.push_back(theInitialStatePtr);
397 }
398 if (fVerbose > 2) {
399 G4cout << "## After first step of handler " << theEvapList.size()
400 << " for evap; "
401 << theResults.size() << " results. " << G4endl;
402 }
403 // -----------------------------------
404 // FermiBreakUp and De-excitation loop
405 // -----------------------------------
406
407 static const G4int countmax = 1000;
408 std::size_t kk;
409 for (kk=0; kk<theEvapList.size(); ++kk) {
410 G4Fragment* frag = theEvapList[kk];
411 if (fVerbose > 3) {
412 G4cout << "Next evaporate: " << G4endl;
413 G4cout << *frag << G4endl;
414 }
415 if (kk >= countmax) {
417 ed << "Infinite loop in the de-excitation module: " << kk
418 << " iterations \n"
419 << " Initial fragment: \n" << theInitialState
420 << "\n Current fragment: \n" << *frag;
421 G4Exception("G4ExcitationHandler::BreakItUp","had0333",FatalException,
422 ed,"Stop execution");
423
424 }
425 A = frag->GetA_asInt();
426 Z = frag->GetZ_asInt();
427 results.clear();
428 if (fVerbose > 2) {
429 G4cout << "G4ExcitationHandler# " << kk << " Z= " << Z << " A= " << A
430 << " Eex(MeV)= " << frag->GetExcitationEnergy() << G4endl;
431 }
432 // Fermi Break-Up
433 if (theFermiModel->IsApplicable(Z, A, frag->GetExcitationEnergy())) {
434 theFermiModel->BreakFragment(&results, frag);
435 std::size_t nsec = results.size();
436 if (fVerbose > 2) { G4cout << "FermiBreakUp Nsec= " << nsec << G4endl; }
437
438 // FBU takes care to delete input fragment or add it to the results
439 // The secondary may be excited - photo-evaporation should be applied
440 if (1 < nsec) {
441 for (auto const & res : results) {
442 SortSecondaryFragment(res);
443 }
444 continue;
445 }
446 // evaporation will be applied
447 }
448 // apply Evaporation, residual nucleus is always added to the results
449 // photon evaporation is possible
450 theEvaporation->BreakFragment(&results, frag);
451 if (fVerbose > 3) {
452 G4cout << kk << ". Evaporation: Nsec=" << results.size()
453 << " Z=" << frag->GetZ_asInt()
454 << " A=" << frag->GetA_asInt()
455 << " Eex=" << frag->GetExcitationEnergy()
456 << " stable=" << frag->IsLongLived()
457 << G4endl;
458 }
459 if (0 == results.size()) {
460 theResults.push_back(frag);
461 } else {
462 SortSecondaryFragment(frag);
463 }
464
465 // Sort out secondary fragments
466 for (auto const & res : results) {
467 if(fVerbose > 4) {
468 G4cout << "Evaporated product #" << *res << G4endl;
469 }
470 SortSecondaryFragment(res);
471 } // end of loop on secondary
472 } // end of the loop over theEvapList
473 if (fVerbose > 2) {
474 G4cout << "## After 2nd step of handler " << theEvapList.size()
475 << " was evap; "
476 << theResults.size() << " results. " << G4endl;
477 }
478 G4ReactionProductVector * theReactionProductVector =
480
481 // To optimise the storing speed, we reserve space
482 // in memory for the vector
483 theReactionProductVector->reserve(theResults.size());
484
485 if (fVerbose > 1) {
486 G4cout << "### ExcitationHandler provides " << theResults.size()
487 << " evaporated products:" << G4endl;
488 }
489 G4LorentzVector partOfLambdaLV;
490 if ( nL > 0 ) partOfLambdaLV = lambdaLV/(G4double)nL;
491 for (auto const & frag : theResults) {
492 G4LorentzVector lv0 = frag->GetMomentum();
493 G4double etot = lv0.e();
494
495 // in the case of dummy de-excitation, excitation energy is transfered
496 // into kinetic energy of output ion
497 if (!isActive) {
498 G4double mass = frag->GetGroundStateMass();
499 G4double ptot = lv0.vect().mag();
500 G4double fac = (etot <= mass || 0.0 == ptot) ? 0.0
501 : std::sqrt((etot - mass)*(etot + mass))/ptot;
502 G4LorentzVector lv((frag->GetMomentum()).px()*fac,
503 (frag->GetMomentum()).py()*fac,
504 (frag->GetMomentum()).pz()*fac, etot);
505 frag->SetMomentum(lv);
506 }
507 if (fVerbose > 3) {
508 G4cout << *frag;
509 if (frag->NuclearPolarization()) {
510 G4cout << " " << frag->NuclearPolarization();
511 }
512 G4cout << G4endl;
513 }
514
515 G4int fragmentA = frag->GetA_asInt();
516 G4int fragmentZ = frag->GetZ_asInt();
517 G4double eexc = 0.0;
518 const G4ParticleDefinition* theKindOfFragment = nullptr;
519 G4bool isHyperN = false;
520 if (fragmentA == 0) { // photon or e-
521 theKindOfFragment = frag->GetParticleDefinition();
522 } else if (fragmentA == 1 && fragmentZ == 0) { // neutron
523 theKindOfFragment = theNeutron;
524 } else if (fragmentA == 1 && fragmentZ == 1) { // proton
525 theKindOfFragment = theProton;
526 } else if (fragmentA == 2 && fragmentZ == 1) { // deuteron
527 theKindOfFragment = theDeuteron;
528 } else if (fragmentA == 3 && fragmentZ == 1) { // triton
529 theKindOfFragment = theTriton;
530 if(0 < nL) {
531 const G4ParticleDefinition* p = thePartTable->FindParticle(1010010030);
532 if(nullptr != p) {
533 theKindOfFragment = p;
534 isHyperN = true;
535 --nL;
536 }
537 }
538 } else if (fragmentA == 3 && fragmentZ == 2) { // helium3
539 theKindOfFragment = theHe3;
540 } else if (fragmentA == 4 && fragmentZ == 2) { // alpha
541 theKindOfFragment = theAlpha;
542 if (0 < nL) {
543 const G4ParticleDefinition* p = thePartTable->FindParticle(1010020040);
544 if(nullptr != p) {
545 theKindOfFragment = p;
546 isHyperN = true;
547 --nL;
548 }
549 }
550 } else {
551
552 // fragment
553 eexc = frag->GetExcitationEnergy();
554 G4int idxf = frag->GetFloatingLevelNumber();
555 if (eexc < minExcitation) {
556 eexc = 0.0;
557 idxf = 0;
558 }
559
560 theKindOfFragment = theTableOfIons->GetIon(fragmentZ, fragmentA, eexc,
562 if (fVerbose > 3) {
563 G4cout << "### EXCH: Find ion Z= " << fragmentZ
564 << " A= " << fragmentA
565 << " Eexc(MeV)= " << eexc/MeV << " idx= " << idxf
566 << " " << theKindOfFragment->GetParticleName()
567 << G4endl;
568 }
569 }
570 // fragment identified
571 if (nullptr != theKindOfFragment) {
572 G4ReactionProduct * theNew = new G4ReactionProduct(theKindOfFragment);
573 if (isHyperN) {
574 G4LorentzVector lv = lv0 + partOfLambdaLV;
575 G4ThreeVector dir = lv.vect().unit();
576 G4double mass = theKindOfFragment->GetPDGMass();
577 etot = std::max(lv.e(), mass);
578 G4double ptot = std::sqrt((etot - mass)*(etot + mass));
579 dir *= ptot;
580 theNew->SetMomentum(dir);
581 // remaining not compensated 4-momentum
582 lambdaLV += (lv0 - G4LorentzVector(dir, etot));
583 } else {
584 theNew->SetMomentum(lv0.vect());
585 }
586 theNew->SetTotalEnergy(etot);
587 theNew->SetFormationTime(frag->GetCreationTime());
588 theNew->SetCreatorModelID(frag->GetCreatorModelID());
589 theReactionProductVector->push_back(theNew);
590
591 // fragment not found out ground state is created
592 } else {
593 theKindOfFragment =
594 theTableOfIons->GetIon(fragmentZ,fragmentA,0.0,noFloat,0);
595 if (theKindOfFragment) {
596 G4ThreeVector mom(0.0,0.0,0.0);
597 G4double ionmass = theKindOfFragment->GetPDGMass();
598 if (etot <= ionmass) {
599 etot = ionmass;
600 } else {
601 G4double ptot = std::sqrt((etot - ionmass)*(etot + ionmass));
602 mom = (frag->GetMomentum().vect().unit())*ptot;
603 }
604 G4ReactionProduct * theNew = new G4ReactionProduct(theKindOfFragment);
605 theNew->SetMomentum(mom);
606 theNew->SetTotalEnergy(etot);
607 theNew->SetFormationTime(frag->GetCreationTime());
608 theNew->SetCreatorModelID(frag->GetCreatorModelID());
609 theReactionProductVector->push_back(theNew);
610 if (fVerbose > 3) {
611 G4cout << " ground state, energy corrected E(MeV)= "
612 << etot << G4endl;
613 }
614 }
615 }
616 delete frag;
617 }
618 // remaining lambdas are free; conserve quantum numbers but
619 // not 4-momentum
620 if (0 < nL) {
621 G4ThreeVector dir = G4ThreeVector(0.0, 0.0, 0.0);
622 if (lambdaLV.vect().mag() > CLHEP::eV) {
623 dir = lambdaLV.vect().unit();
624 }
625 G4double etot = std::max(lambdaLV.e()/(G4double)nL, fLambdaMass);
626 dir *= std::sqrt((etot - fLambdaMass)*(etot + fLambdaMass));
627 for (G4int i=0; i<nL; ++i) {
628 G4ReactionProduct* theNew = new G4ReactionProduct(theLambda);
629 theNew->SetMomentum(dir);
630 theNew->SetTotalEnergy(etot);
631 theNew->SetFormationTime(theInitialState.GetCreationTime());
632 theNew->SetCreatorModelID(theInitialState.GetCreatorModelID());
633 theReactionProductVector->push_back(theNew);
634 }
635 }
636 if (fVerbose > 3) {
637 G4cout << "@@@@@@@@@@ End G4Excitation Handler "<< G4endl;
638 }
639 return theReactionProductVector;
640}
@ JustWarning
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define noFloat
Definition G4Ions.hh:119
CLHEP::HepLorentzVector G4LorentzVector
std::vector< G4ReactionProduct * > G4ReactionProductVector
CLHEP::Hep3Vector G4ThreeVector
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
const G4double A[17]
Hep3Vector unit() const
double mag() const
Hep3Vector vect() const
G4double GetGroundStateMass() const
G4int GetCreatorModelID() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
G4double GetCreationTime() const
G4bool IsLongLived() const
G4int GetZ_asInt() const
G4int GetNumberOfLambdas() const
void SetMomentum(const G4LorentzVector &value)
G4int GetA_asInt() const
void SetZAandMomentum(const G4LorentzVector &, G4int Z, G4int A, G4int nLambdas=0)
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition G4Ions.cc:107
const G4String & GetParticleName() const
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
void SetCreatorModelID(const G4int mod)
void SetFormationTime(G4double aTime)

◆ GetEvaporation()

G4VEvaporation * G4ExcitationHandler::GetEvaporation ( )

Definition at line 276 of file G4ExcitationHandler.cc.

277{
278 if (nullptr != theEvaporation) { SetParameters(); }
279 return theEvaporation;
280}

◆ GetFermiModel()

G4VFermiBreakUp * G4ExcitationHandler::GetFermiModel ( )

Definition at line 290 of file G4ExcitationHandler.cc.

291{
292 if (nullptr != theFermiModel) { SetParameters(); }
293 return theFermiModel;
294}

◆ GetMultiFragmentation()

G4VMultiFragmentation * G4ExcitationHandler::GetMultiFragmentation ( )

Definition at line 282 of file G4ExcitationHandler.cc.

283{
284 G4cout << "### G4ExcitationHandler::GetMultiFragmentation() is obsolete and "
285 << "will be removed in the next major release" << G4endl;
286 if (nullptr == theMultiFragmentation) { theMultiFragmentation = new G4StatMF(); }
287 return theMultiFragmentation;
288}

◆ GetPhotonEvaporation()

G4VEvaporationChannel * G4ExcitationHandler::GetPhotonEvaporation ( )

Definition at line 296 of file G4ExcitationHandler.cc.

297{
298 if (nullptr != thePhotonEvaporation) { SetParameters(); }
299 return thePhotonEvaporation;
300}

◆ Initialise()

void G4ExcitationHandler::Initialise ( )

Definition at line 180 of file G4ExcitationHandler.cc.

181{
182 // initialisation only once
183 if (isInitialised) { return; }
184 if (fVerbose > 1) {
185 G4cout << "G4ExcitationHandler::Initialise() started " << this << G4endl;
186 }
187 G4DeexPrecoParameters* param =
189 SetParameters();
190
191 // dump level is controlled by parameter class
192 param->Dump();
193 isInitialised = true;
194}
G4DeexPrecoParameters * GetParameters()
static G4NuclearLevelData * GetInstance()

Referenced by BreakItUp(), G4AblaInterface::InitialiseModel(), G4PreCompoundInterface::InitialiseModel(), and G4PreCompoundModel::InitialiseModel().

◆ ModelDescription()

void G4ExcitationHandler::ModelDescription ( std::ostream & outFile) const

Definition at line 642 of file G4ExcitationHandler.cc.

643{
644 outFile << "G4ExcitationHandler description\n"
645 << "This class samples de-excitation of excited nucleus using\n"
646 << "Fermi Break-up model for light fragments (Z < 9, A < 17), "
647 << "evaporation, fission, and photo-evaporation models. Evaporated\n"
648 << "particle may be proton, neutron, and other light fragment \n"
649 << "(Z < 13, A < 29). During photon evaporation produced gamma \n"
650 << "or electrons due to internal conversion \n";
651}

◆ operator!=()

G4bool G4ExcitationHandler::operator!= ( const G4ExcitationHandler & right) const
delete

◆ operator=()

const G4ExcitationHandler & G4ExcitationHandler::operator= ( const G4ExcitationHandler & right)
delete

◆ operator==()

G4bool G4ExcitationHandler::operator== ( const G4ExcitationHandler & right) const
delete

◆ SetDeexChannelsType()

void G4ExcitationHandler::SetDeexChannelsType ( G4DeexChannelType val)

Definition at line 244 of file G4ExcitationHandler.cc.

245{
246 G4Evaporation* evap = static_cast<G4Evaporation*>(theEvaporation);
247 if (fVerbose > 1) {
248 G4cout << "G4ExcitationHandler::SetDeexChannelsType " << val
249 << " for " << this << G4endl;
250 }
251 if(val == fDummy) {
252 isActive = false;
253 return;
254 }
255 if (nullptr == evap) { return; }
256 if (val == fEvaporation) {
257 evap->SetDefaultChannel();
258 } else if (val == fCombined) {
259 evap->SetCombinedChannel();
260 } else if (val == fGEM) {
261 evap->SetGEMChannel();
262 } else if (val == fGEMVI) {
263 evap->SetGEMVIChannel();
264 }
265 evap->InitialiseChannels();
266 if (fVerbose > 1) {
268 G4cout << "Number of de-excitation channels is changed to: "
269 << theEvaporation->GetNumberOfChannels();
270 G4cout << " " << this;
271 }
272 G4cout << G4endl;
273 }
274}
void SetDefaultChannel()
void SetCombinedChannel()
void InitialiseChannels() override
G4bool IsMasterThread()

◆ SetEvaporation()

void G4ExcitationHandler::SetEvaporation ( G4VEvaporation * ptr,
G4bool isLocal = false )

Definition at line 196 of file G4ExcitationHandler.cc.

197{
198 if (!isInitialised && nullptr != ptr && ptr != theEvaporation) {
199 delete theEvaporation;
200 theEvaporation = ptr;
201 isEvapLocal = flag;
202 if(fVerbose > 1) {
203 G4cout << "G4ExcitationHandler::SetEvaporation() " << ptr
204 << " done for " << this << G4endl;
205 }
206 }
207}

Referenced by G4ExcitationHandler().

◆ SetFermiModel()

void G4ExcitationHandler::SetFermiModel ( G4VFermiBreakUp * ptr)

Definition at line 223 of file G4ExcitationHandler.cc.

224{
225 if (!isInitialised && nullptr != ptr && ptr != theFermiModel) {
226 delete theFermiModel;
227 theFermiModel = ptr;
228 }
229}

◆ SetMaxAandZForFermiBreakUp()

void G4ExcitationHandler::SetMaxAandZForFermiBreakUp ( G4int anA,
G4int aZ )
inline

Definition at line 170 of file G4ExcitationHandler.hh.

171{
174}
void SetMaxZForFermiBreakUp(G4int aZ)
void SetMaxAForFermiBreakUp(G4int anA)

◆ SetMaxAForFermiBreakUp()

void G4ExcitationHandler::SetMaxAForFermiBreakUp ( G4int anA)
inline

Definition at line 165 of file G4ExcitationHandler.hh.

166{
167 maxAForFermiBreakUp = anA;
168}

Referenced by SetMaxAandZForFermiBreakUp().

◆ SetMaxZForFermiBreakUp()

void G4ExcitationHandler::SetMaxZForFermiBreakUp ( G4int aZ)
inline

Definition at line 160 of file G4ExcitationHandler.hh.

161{
162 maxZForFermiBreakUp = aZ;
163}

Referenced by SetMaxAandZForFermiBreakUp().

◆ SetMinEForMultiFrag()

void G4ExcitationHandler::SetMinEForMultiFrag ( G4double anE)

Definition at line 217 of file G4ExcitationHandler.cc.

218{
219 G4cout << "### G4ExcitationHandler::SetMinEForMultiFrag() is obsolete and "
220 << "will be removed in the next major release" << G4endl;
221}

Referenced by G4EMDissociation::G4EMDissociation().

◆ SetMultiFragmentation()

void G4ExcitationHandler::SetMultiFragmentation ( G4VMultiFragmentation * ptr)

Definition at line 209 of file G4ExcitationHandler.cc.

210{
211 G4cout << "### G4ExcitationHandler::SetMultiFragmentation() is obsolete and "
212 << "will be removed in the next major release" << G4endl;
213 delete theMultiFragmentation;
214 theMultiFragmentation = ptr;
215}

◆ SetOPTxs()

void G4ExcitationHandler::SetOPTxs ( G4int opt)
inline

◆ SetPhotonEvaporation()

void G4ExcitationHandler::SetPhotonEvaporation ( G4VEvaporationChannel * ptr)

Definition at line 232 of file G4ExcitationHandler.cc.

233{
234 if (!isInitialised && nullptr != ptr && ptr != thePhotonEvaporation) {
235 delete thePhotonEvaporation;
236 thePhotonEvaporation = ptr;
237 if (fVerbose > 1) {
238 G4cout << "G4ExcitationHandler::SetPhotonEvaporation() " << ptr
239 << " for handler " << this << G4endl;
240 }
241 }
242}

◆ UseSICB()

void G4ExcitationHandler::UseSICB ( )
inline

The documentation for this class was generated from the following files: