Geant4-11
pyglobals.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// ====================================================================
27// pyglobals.cc
28//
29// 2005 Q
30// ====================================================================
31#include <boost/python.hpp>
32#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
33#include "G4Version.hh"
34#include "G4strstreambuf.hh"
35#include "G4UImanager.hh"
37#include "G4ThreeVector.hh"
38#include "G4TwoVector.hh"
39#include <vector>
40
41using namespace boost::python;
42
43//extern G4strstreambuf G4coutbuf;
44//extern G4strstreambuf G4cerrbuf;
45
46namespace pyglobals {
47
48// G4cout/cerr are set to Python stdout
50{
55}
56
58{
60 UImgr-> SetCoutDestination(0);
61}
62
63typedef std::vector<G4int> G4intVector;
64typedef std::vector<G4double> G4doubleVector;
65typedef std::vector<G4String> G4StringVector;
66typedef std::vector<G4ThreeVector> G4ThreeVectorVector;
67typedef std::vector<G4TwoVector> G4TwoVectorVector;
68
69}
70
71using namespace pyglobals;
72
73// ====================================================================
74// module definition
75// ====================================================================
77{
78 def("SetG4PyCoutDestination", SetG4PyCoutDestination);
79 def("ResetG4PyCoutDestination", ResetG4PyCoutDestination);
80
81 class_<G4intVector> ("G4intVector", "int vector")
82 .def(vector_indexing_suite<G4intVector>())
83 ;
84
85 class_<G4doubleVector> ("G4doubleVector", "double vector")
86 .def(vector_indexing_suite<G4doubleVector>())
87 ;
88
89 class_<G4StringVector> ("G4StringVector", "string vector")
90 .def(vector_indexing_suite<G4StringVector>())
91 ;
92
93 class_<G4ThreeVectorVector> ("G4ThreeVectorVector", "3-vector vector")
94 .def(vector_indexing_suite<G4ThreeVectorVector>())
95 ;
96
97 class_<G4TwoVectorVector> ("G4StringVector", "2-vector vector")
98 .def(vector_indexing_suite<G4TwoVectorVector>())
99 ;
100
101}
G4GLOB_DLL G4strstreambuf G4coutbuf
Definition: G4ios.cc:108
G4GLOB_DLL G4strstreambuf G4cerrbuf
Definition: G4ios.cc:109
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77
void SetDestination(G4coutDestination *dest)
std::vector< G4double > G4doubleVector
Definition: pyglobals.cc:64
std::vector< G4int > G4intVector
Definition: pyglobals.cc:63
std::vector< G4TwoVector > G4TwoVectorVector
Definition: pyglobals.cc:67
void ResetG4PyCoutDestination()
Definition: pyglobals.cc:57
std::vector< G4ThreeVector > G4ThreeVectorVector
Definition: pyglobals.cc:66
void SetG4PyCoutDestination()
Definition: pyglobals.cc:49
std::vector< G4String > G4StringVector
Definition: pyglobals.cc:65
void export_globals()
Definition: pyglobals.cc:76