| Message: Re: Hadrontherapy example at 150 MeV | Not Logged In (login) |
|
Dear Lopez, Hadrontherapy example simulates an hadrontherapy beamline really existent (protons at 62 MeV) and the physics implanted is also constructed and optimized for this purposes. The upper limit for the application of inelastic models is “forced” to 100 MeV, but anyway you are free to extend this limit at higher values because the models used are applicable up to about GeV/n, so coherent with the energy range of interest for your application. In few word, what you have to modify: 1) Once you choose a macro, have a look to the hadronic physics added, ex.: physicsHadronicBinary.mac: ..... ### B) HADRONIC PHYSICS /physics/addPhysics HadronicEl-HadronIon-LElastic /physics/addPhysics HadronicInel-ProtonNeutron-Bin /physics/addPhysics HadronicInel-Ion-LEP /physics/addPhysics HadronicInel-Pion-LEP /physics/addPhysics HadronicAtRest-MuonMinus-Capture ..... 2) Look for the .cc files you call in the macro inside HadrontherapyPhysicsList.cc. Ex.: ..... /physics/addPhysics HadronicInel-ProtonNeutron-Bin ..... in HadrontherapyPhysicsList.cc you will find: ..... // *** Option III: Binary Cascade Model if (name == "HadronicInel-ProtonNeutron-Bin") { if (hadrInelasticProtonNeutronIsRegistered) { G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name << " cannot be registered ---- decay List already existing" << G4endl; } else { G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name << " is registered" << G4endl; RegisterPhysics( new HIProtonNeutronBinary(name) ); hadrInelasticProtonNeutronIsRegistered = true; } } ..... What you see inside the brackets RegisterPhysics(....) is the name of the physics file you have to modify, that is in this example: HIProtonNeutronBinary.cc 3) open HIProtonNeutronBinary.cc and modify the energy limit: ..... // ********************************************* // *** Protons, Neutrons: Common Definitions *** // ********************************************* G4double protonNeutronBinaryMinEnergy = 0. * MeV; G4double protonNeutronBinaryMaxEnergy = 100. * MeV; G4BinaryCascade* protonNeutronBinaryCascadeModel = new G4BinaryCascade(); protonNeutronBinaryCascadeModel -> SetMinEnergy(protonNeutronBinaryMinEnergy); protonNeutronBinaryCascadeModel -> SetMaxEnergy(protonNeutronBinaryMaxEnergy); ..... change 100 MeV to the value you want (maximum 10 GeV for BinaryCascadeModel) 4) Remember to repeat this procedure for each file you call in the macro you are using (just hadronic interactions) Anyway, we are working in order to simplify and generalize the use of the physics inside Hadrontherapy and in general for medical applications, so that in few steps it will be possible to set a physics which is suitable and accurate for that kind of applications. Cheers Francesco (for the Catania Geant4 group) |
| Inline Depth: | Outline Depth: | Add message: |
|
to: |