Import Geant4 9.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:37:50 +02:00
parent a8e9364cea
commit 96c8bcd0af
6923 changed files with 198390 additions and 41849 deletions
+14
View File
@@ -0,0 +1,14 @@
# $Id: GNUmakefile,v 1.1 2007/11/13 10:03:33 kmura Exp $
# $Name: geant4-09-01 $
# ===========================================================
# Makefile for building Geant4Py modules
# ===========================================================
include ../../config/config.gmk
# python module name
MODULE := G4gdml#
include $(G4PY_INSTALL)/config/g4py.gmk
include $(G4PY_INSTALL)/config/module.gmk
include $(G4PY_INSTALL)/config/install.gmk
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * 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: pyG4GDMLWriter.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pyG4GDMLWriter.cc
//
// based on 2.10.0
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4Writer/G4GDMLWriter.h"
using namespace boost::python;
// ====================================================================
// thin wrappers
// ====================================================================
namespace pyG4GDMLWriter {
// DumpGeometryInfo
void (G4GDMLWriter::*f1_DumpGeometryInfo)(G4VPhysicalVolume*)
= &G4GDMLWriter::DumpGeometryInfo;
}
using namespace pyG4GDMLWriter;
// ====================================================================
// module definition
// ====================================================================
void export_G4GDMLWriter()
{
class_<G4GDMLWriter>("G4GDMLWriter", "GDML writer class")
.def(init<>())
.def(init<int>())
.def(init<std::string, std::string>())
.def(init<std::string, std::string, int>())
// ---
.def("DumpGeometryInfo", f1_DumpGeometryInfo)
;
}
@@ -0,0 +1,85 @@
//
// ********************************************************************
// * 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: pyGDMLProcessor.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pyGDMLProcessor.cc
//
// based on 2.10.0
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4Processor/GDMLProcessor.h"
using namespace boost::python;
// ====================================================================
// thin wrappers
// ====================================================================
namespace pyG4GDMLProcessor {
// GetWorldVolumeOfParsedFile
const G4VPhysicalVolume* (GDMLProcessor::*f1_GetWorldVolumeOfParsedFile)
(const std::string&)= &GDMLProcessor::GetWorldVolumeOfParsedFile;
const G4VPhysicalVolume* (GDMLProcessor::*f2_GetWorldVolumeOfParsedFile)
(const char*)= &GDMLProcessor::GetWorldVolumeOfParsedFile;
// GetWorldVolume
const G4VPhysicalVolume* (GDMLProcessor::*f1_GetWorldVolume)()
= &GDMLProcessor::GetWorldVolume;
G4VPhysicalVolume* (GDMLProcessor::*f2_GetWorldVolume)(int)
= &GDMLProcessor::GetWorldVolume;
}
using namespace pyG4GDMLProcessor;
// ====================================================================
// module definition
// ====================================================================
void export_GDMLProcessor()
{
class_<GDMLProcessor, boost::noncopyable>
("GDMLProcessor", "GDML processor", no_init)
// ---
.def("GetInstance", &GDMLProcessor::GetInstance,
return_value_policy<reference_existing_object>())
.staticmethod("GetInstance")
// ---
.def("GetWorldVolumeOfParsedFile", f1_GetWorldVolumeOfParsedFile,
return_value_policy<reference_existing_object>())
.def("GetWorldVolumeOfParsedFile", f2_GetWorldVolumeOfParsedFile,
return_value_policy<reference_existing_object>())
.def("GetWorldVolume", f1_GetWorldVolume,
return_value_policy<reference_existing_object>())
.def("GetWorldVolume", f2_GetWorldVolume,
return_value_policy<reference_existing_object>())
;
}
@@ -0,0 +1,71 @@
//
// ********************************************************************
// * 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: pyProcessingConfigurator.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pyProcessingConfigurator.cc
//
// based on 2.10.0
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
#include "Saxana/ProcessingConfigurator.h"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_ProcessingConfigurator()
{
scope in_ProcessingConfigurator=
class_<ProcessingConfigurator>("ProcessingConfigurator",
"processing configurator class")
// ---
.def("SetMode", &ProcessingConfigurator::SetMode)
.def("Mode", &ProcessingConfigurator::Mode)
.def("SetURI", &ProcessingConfigurator::SetURI)
.def("URI", &ProcessingConfigurator::URI,
return_value_policy<return_by_value>())
.def("SetType", &ProcessingConfigurator::SetType)
.def("Type", &ProcessingConfigurator::Type,
return_value_policy<return_by_value>())
.def("SetSetupName", &ProcessingConfigurator::SetSetupName)
.def("SetupName", &ProcessingConfigurator::SetupName,
return_value_policy<return_by_value>())
.def("SetSetupVersion", &ProcessingConfigurator::SetSetupVersion)
.def("SetupVersion", &ProcessingConfigurator::SetupVersion,
return_value_policy<return_by_value>())
;
enum_<ProcessingConfigurator::SAXMode>("SAXMode")
.value("eBatch", ProcessingConfigurator::eBatch)
.value("eProgressive", ProcessingConfigurator::eProgressive)
.value("eSearch", ProcessingConfigurator::eSearch)
;
}
@@ -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: pySAXProcessor.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pySAXProcessor.cc
//
// based on 2.10.0
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
#include "Saxana/SAXProcessor.h"
#include "Saxana/ProcessingConfigurator.h"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_SAXProcessor()
{
class_<SAXProcessor>("SAXProcessor", "SAX processor class")
// ---
.def("Initialize", &SAXProcessor::Initialize)
.def("Configure", &SAXProcessor::Configure)
.def("Run", &SAXProcessor::Run)
.def("Finalize", &SAXProcessor::Finalize)
;
}
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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: pyStatusCode.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pyStatusCode.cc
//
// based on 2.10.0
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
#include "Saxana/StatusCode.h"
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_StatusCode()
{
scope in_StatusCode=
class_<StatusCode>("StatusCode", "status code")
.def(init<>())
.def(init<StatusCode::EInfo>())
// ---
.def("IsOk", &StatusCode::IsOk)
.def("IsFailure", &StatusCode::IsFailure)
.def("Info", &StatusCode::Info)
;
enum_<StatusCode::EInfo>("EInfo")
.value("eError", StatusCode::eError)
.value("eOk", StatusCode::eOk)
.value("eWarning", StatusCode::eWarning)
.value("eParserInitFailure", StatusCode::eParserInitFailure)
;
}
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * 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: pymodG4gdml.cc,v 1.1 2007/11/13 10:03:23 kmura Exp $
// $Name: geant4-09-01 $
// ====================================================================
// pymodG4gdml.cc [Geant4Py module]
//
// 2007 Q
// ====================================================================
#include <boost/python.hpp>
using namespace boost::python;
// ====================================================================
// module definition
// ====================================================================
void export_G4GDMLWriter();
void export_GDMLProcessor();
void export_SAXProcessor();
void export_StatusCode();
void export_ProcessingConfigurator();
BOOST_PYTHON_MODULE(G4gdml)
{
export_G4GDMLWriter();
export_GDMLProcessor();
export_SAXProcessor();
export_StatusCode();
export_ProcessingConfigurator();
}