Import Geant4 8.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:44:26 +02:00
parent 8a51e0bc40
commit 216a75eeb1
8717 changed files with 360418 additions and 141343 deletions
@@ -0,0 +1,14 @@
# $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $
# $Name: geant4-08-01 $
# ===========================================================
# Makefile for building Geant4Py modules
# ===========================================================
include ../../config/config.gmk
# python module name
MODULE := G4track#
include $(G4PY_INSTALL)/config/g4py.gmk
include $(G4PY_INSTALL)/config/module.gmk
include $(G4PY_INSTALL)/config/install.gmk
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pyG4Step.cc,v 1.4 2006/06/29 15:35:38 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pyG4Step.cc
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4Step.hh"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4Step()
{
class_<G4Step, G4Step*>("G4Step", "step class")
// ---
.def("GetTrack", &G4Step::GetTrack,
return_value_policy<reference_existing_object>())
.def("GetPreStepPoint", &G4Step::GetPreStepPoint,
return_internal_reference<>())
.def("GetPostStepPoint", &G4Step::GetPostStepPoint,
return_internal_reference<>())
.def("GetTotalEnergyDeposit", &G4Step::GetTotalEnergyDeposit)
.def("GetStepLength", &G4Step::GetStepLength)
.def("GetDeltaPosition", &G4Step::GetDeltaPosition)
.def("GetDeltaTime", &G4Step::GetDeltaTime)
.def("GetDeltaMomentum", &G4Step::GetDeltaMomentum)
.def("GetDeltaEnergy", &G4Step::GetDeltaEnergy)
;
}
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pyG4StepPoint.cc,v 1.4 2006/06/29 15:35:40 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pyG4StepPoint.cc
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4StepPoint.hh"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4StepPoint()
{
class_<G4StepPoint, G4StepPoint*>("G4StepPoint", "step point class")
// ---
.def("GetPosition", &G4StepPoint::GetPosition,
return_value_policy<return_by_value>())
.def("GetLocalTime", &G4StepPoint::GetLocalTime)
.def("GetGlobalTime", &G4StepPoint::GetGlobalTime)
.def("GetProperTime", &G4StepPoint::GetProperTime)
.def("GetMomentumDirection", &G4StepPoint::GetMomentumDirection,
return_value_policy<return_by_value>())
.def("GetMomentum", &G4StepPoint::GetMomentum,
return_value_policy<return_by_value>())
.def("GetTotalEnergy", &G4StepPoint::GetTotalEnergy)
.def("GetKineticEnergy", &G4StepPoint::GetKineticEnergy)
.def("GetVelocity", &G4StepPoint::GetVelocity)
.def("GetBeta", &G4StepPoint::GetBeta)
.def("GetGamma", &G4StepPoint::GetGamma)
//.def("GetTouchable", &G4StepPoint::GetTouchable)
//.def("GetMaterial", &G4StepPoint::GetMaterial)
.def("GetPolarization", &G4StepPoint::GetPolarization,
return_value_policy<return_by_value>())
.def("GetStepStatus", &G4StepPoint::GetStepStatus)
//.def("GetProcessDefinedStep", &G4StepPoint::GetProcessDefinedStep)
.def("GetMass", &G4StepPoint::GetMass)
.def("GetCharge", &G4StepPoint::GetCharge)
.def("GetWeight", &G4StepPoint::GetWeight)
;
}
@@ -0,0 +1,54 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pyG4StepStatus.cc,v 1.4 2006/06/29 15:35:42 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pyG4StepStatus.cc
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4StepStatus.hh"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4StepStatus()
{
enum_<G4StepStatus>("G4StepStatus")
.value("fWorldBoundary", fWorldBoundary)
.value("fGeomBoundary", fGeomBoundary)
.value("fAtRestDoItProc", fAtRestDoItProc)
.value("fAlongStepDoItProc", fAlongStepDoItProc)
.value("fPostStepDoItProc", fPostStepDoItProc)
.value("fUserDefinedLimit", fUserDefinedLimit)
.value("fExclusivelyForcedProc", fExclusivelyForcedProc)
.value("fUndefined", fUndefined)
;
}
@@ -0,0 +1,90 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pyG4Track.cc,v 1.5 2006/06/29 15:35:46 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pyG4Track.cc
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4Track.hh"
#include "G4VProcess.hh"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4Track()
{
class_<G4Track, G4Track*>("G4Track", "track class")
// ---
.def("GetTrackID", &G4Track::GetTrackID)
.def("GetParentID", &G4Track::GetParentID)
.def("GetDynamicParticle", &G4Track::GetDynamicParticle,
return_internal_reference<>())
.def("GetDefinition", &G4Track::GetDefinition,
return_internal_reference<>())
.def("GetPosition", &G4Track::GetPosition,
return_value_policy<return_by_value>())
.def("GetGlobalTime", &G4Track::GetGlobalTime)
.def("GetLocalTime", &G4Track::GetLocalTime)
.def("GetProperTime", &G4Track::GetProperTime)
.def("GetVolume", &G4Track::GetVolume,
return_value_policy<reference_existing_object>())
.def("GetMaterial", &G4Track::GetMaterial,
return_value_policy<reference_existing_object>())
.def("GetTouchable", &G4Track::GetTouchable,
return_value_policy<reference_existing_object>())
.def("GetKineticEnergy", &G4Track::GetKineticEnergy)
.def("GetTotalEnergy", &G4Track::GetTotalEnergy)
.def("GetMomentumDirection", &G4Track::GetMomentumDirection,
return_value_policy<return_by_value>())
.def("GetMomentum", &G4Track::GetMomentum,
return_value_policy<return_by_value>())
.def("GetVelocity", &G4Track::GetVelocity)
.def("GetPolarization", &G4Track::GetPolarization,
return_value_policy<return_by_value>())
.def("GetTrackStatus", &G4Track::GetTrackStatus)
.def("GetTrackLength", &G4Track::GetTrackLength)
.def("GetStep", &G4Track::GetStep,
return_value_policy<reference_existing_object>())
.def("GetCurrentStepNumber", &G4Track::GetCurrentStepNumber)
.def("GetStepLength", &G4Track::GetStepLength)
.def("GetVertexPosition", &G4Track::GetVertexPosition,
return_value_policy<return_by_value>())
.def("GetVertexMomentumDirection", &G4Track::GetVertexMomentumDirection,
return_value_policy<return_by_value>())
.def("GetVertexKineticEnergy", &G4Track::GetVertexKineticEnergy)
.def("GetLogicalVolumeAtVertex", &G4Track::GetLogicalVolumeAtVertex,
return_value_policy<reference_existing_object>())
.def("GetCreatorProcess", &G4Track::GetCreatorProcess,
return_value_policy<reference_existing_object>())
.def("GetWeight", &G4Track::GetWeight)
.def("SetWeight", &G4Track::SetWeight)
;
}
@@ -0,0 +1,51 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pyG4TrackStatus.cc,v 1.4 2006/06/29 15:35:48 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pyG4TrackStatus.cc
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4TrackStatus.hh"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4TrackStatus()
{
enum_<G4TrackStatus>("G4TrackStatus")
.value("fAlive", fAlive)
.value("fStopButAlive", fStopButAlive)
.value("fStopAndKill", fStopAndKill)
.value("fKillTrackAndSecondaries", fKillTrackAndSecondaries)
.value("fSuspend", fSuspend)
.value("fPostponeToNextEvent", fPostponeToNextEvent)
;
}
@@ -0,0 +1,54 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: pymodG4track.cc,v 1.4 2006/06/29 15:35:50 gunter Exp $
// $Name: geant4-08-01 $
// ====================================================================
// pymodG4track.cc [Geant4Py module]
//
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4Track();
void export_G4TrackStatus();
void export_G4Step();
void export_G4StepPoint();
void export_G4StepStatus();
BOOST_PYTHON_MODULE(G4track)
{
export_G4Track();
export_G4TrackStatus();
export_G4Step();
export_G4StepPoint();
export_G4StepStatus();
}