31#ifndef G4DNAPTBElasticModel_h
32#define G4DNAPTBElasticModel_h 1
52 std::map<const G4ParticleDefinition*, std::map<G4double, std::map<G4double, G4double>>>>;
54 std::map<const G4ParticleDefinition*, std::map<G4double, std::vector<G4double>>>>;
117 G4int verboseLevel = 0;
130 std::map<std::size_t, std::map<const G4ParticleDefinition*, std::vector<G4double>>> tValuesVec;
222 G4double RandomizeCosTheta(
const G4double& k,
const std::size_t& materialName);
The G4DNAPTBElasticModel class This class implements the elastic model for the DNA materials and prec...
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
CrossSectionPerVolume This method is mandatory for any model class. It finds and return the cross sec...
G4ParticleChangeForGamma * fParticleChangeForGamma
G4DNAPTBElasticModel(G4DNAPTBElasticModel &)=delete
~G4DNAPTBElasticModel() override=default
~G4DNAPTBElasticModel Destructor
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double tmax) override
SampleSecondaries Method called after CrossSectionPerVolume if the process is the one which is select...
std::map< std::size_t, std::map< const G4ParticleDefinition *, std::map< G4double, std::map< G4double, G4double > > > > TriDimensionMap
void Initialise(const G4ParticleDefinition *particle, const G4DataVector &) override
Initialise Mandatory method for every model class. The material/particle for which the model can be u...
G4DNAPTBElasticModel & operator=(const G4DNAPTBElasticModel &right)=delete
G4DNAPTBElasticModel(const G4String &applyToMaterial="all", const G4ParticleDefinition *p=nullptr, const G4String &nam="DNAPTBElasticModel")
G4DNAPTBElasticModel Constructor.
std::map< std::size_t, std::map< const G4ParticleDefinition *, std::map< G4double, std::vector< G4double > > > > VecMap