Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
@@ -23,8 +23,14 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HadrontherapyInteractionParameters.hh;
// This is the *BASIC* version of Hadrontherapy, a Geant4-based application
// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy
//
// Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request
// the *COMPLETE* version of this program, together with its documentation;
// Hadrontherapy (both basic and full version) are supported by the Italian INFN
// Institute in the framework of the MC-INFN Group
//
#ifndef HadrontherapyInteractionParameters_H
#define HadrontherapyInteractionParameters_H 1
@@ -33,39 +39,68 @@
#include "G4NistMaterialBuilder.hh"
#include "G4NistElementBuilder.hh"
#ifdef G4ANALYSIS_USE_ROOT
#include "TROOT.h"
#include "TCanvas.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TGraph.h"
#include "TLegend.h"
#include "TLegendEntry.h"
#include "TStyle.h"
#endif
class HadrontherapyDetectorConstruction;
class HadrontherapyParameterMessenger;
class G4ParticleDefinition;
class G4Material;
class HadrontherapyInteractionParameters : public G4EmCalculator
{
public:
HadrontherapyInteractionParameters();
~HadrontherapyInteractionParameters();
HadrontherapyInteractionParameters(G4bool);
~HadrontherapyInteractionParameters();
// Get data for Mass SP (MeV*cm2/g)
// G4NistMaterialBuilder class materials
// User must provide: material kinetic energy lower limit, kinetic energy upper limit, number of points to retrieve,
// [particle], [output filename].
// Get data for Mass SP
// G4NistMaterialBuilder class materials
// User must provide: material kinetic energy lower limit, kinetic energy upper limit, number of points to retrieve,
// [particle], [output filename].
bool GetStoppingTable (const G4String& vararg);
void ListOfNistMaterials (const G4String& vararg);
void BeamOn();
bool ParseArg (const G4String& vararg);
G4bool GetStoppingTable (const G4String& vararg);
G4double GetStopping (G4double energy,
const G4ParticleDefinition*,
const G4Material*,
G4double density = 0.);
#ifdef G4ANALYSIS_USE_ROOT
void PlotStopping(const G4String&);
#endif
void ListOfNistMaterials (const G4String& vararg);
void BeamOn();
bool ParseArg (const G4String& vararg);
private:
G4Material* GetNistMaterial(G4String material);
G4Material* GetNistMaterial(G4String material);
G4NistElementBuilder* nistEle;
G4NistMaterialBuilder* nistMat;
std::ofstream outfile;
std::ostream data;
G4Material* Pmaterial;
HadrontherapyParameterMessenger* pMessenger;
bool beamFlag;
#ifdef G4ANALYSIS_USE_ROOT
TCanvas *theRootCanvas;
TGraph *theRootGraph;
TAxis *axisX, *axisY;
#endif
G4double kinEmin, kinEmax, npoints;
G4String particle, material, filename;
G4double dedxtot, density;
std::vector<G4double> energy;
std::vector<G4double> massDedx;
G4NistElementBuilder* nistEle;
G4NistMaterialBuilder* nistMat;
G4double kinEmin, kinEmax, npoints;
G4String particle, material, filename;
std::ofstream outfile;
std::ostream data;
G4Material* Pmaterial;
G4double density;
G4EmCalculator* emCal;
HadrontherapyParameterMessenger* pMessenger;
bool beamFlag;
};
#endif