Import Geant4 9.4.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user