Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 /* 28 * G4DNAMolecularIRTModel.cc 29 * 30 * Created on: Jul 23, 2019 31 * Author: W. G. Shin 32 * J. Ramos-Mendez and B. Faddego 33 */ 34 35 #include "G4DNAIRT.hh" 36 #include "G4DNAIRTMoleculeEncounterStepper.hh" 37 38 #include <G4DNAMolecularIRTModel.hh> 39 #include <G4DNAMolecularReactionTable.hh> 40 #include <G4DNASmoluchowskiReactionModel.hh> 41 #include <G4ExceptionSeverity.hh> 42 #include <G4Molecule.hh> 43 #include <G4ReferenceCast.hh> 44 #include <globals.hh> 45 46 #include <memory> 47 48 G4DNAMolecularIRTModel::G4DNAMolecularIRTModel 49 : G4DNAMolecularIRTModel(name, 50 std::make_unique<G4DNAIRTMolec 51 std::make_unique<G4DNAIRT>()) 52 { 53 } 54 55 G4DNAMolecularIRTModel::G4DNAMolecularIRTModel 56 57 58 : G4VITStepModel(std::move(pTimeStepper), 59 std::move(pReactionProces 60 name) 61 , fMolecularReactionTable(reference_cast<c 62 { 63 fType1 = G4Molecule::ITType(); 64 fType2 = G4Molecule::ITType(); 65 } 66 67 G4DNAMolecularIRTModel::~G4DNAMolecularIRTMode 68 69 void G4DNAMolecularIRTModel::Initialize() 70 { 71 if(fpReactionTable == nullptr) 72 { 73 SetReactionTable(G4DNAMolecularReactio 74 } 75 76 if(!fpReactionModel) 77 { 78 fpReactionModel = std::make_unique<G4D 79 } 80 81 fpReactionModel->SetReactionTable((const G 82 83 ((G4DNAIRT*) fpReactionProcess.get())->Set 84 ((G4DNAIRTMoleculeEncounterStepper*) fpTim 85 86 G4VITStepModel::Initialize(); 87 } 88 89 void G4DNAMolecularIRTModel::PrintInfo() 90 { 91 #ifdef G4VERBOSE 92 G4cout << fName << " will be used" << G4en 93 #endif 94 } 95 96 void G4DNAMolecularIRTModel::SetReactionModel( 97 { 98 fpReactionModel.reset(pReactionModel); 99 } 100 101 G4VDNAReactionModel* G4DNAMolecularIRTModel::G 102 { 103 return fpReactionModel.get(); 104 } 105