Files
geant4/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i
T
2016-06-09 15:58:43 +02:00

215 lines
4.0 KiB
OpenEdge ABL

# $Id: G4Kernel.i,v 1.7 2005/12/15 14:24:56 ahoward Exp $
# -------------------------------------------------------------------
# GEANT4 tag $Name: geant4-09-02 $
# -------------------------------------------------------------------
%module G4Kernel
%{
#include <memory>
#include <string>
#include "globals.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4RotationMatrix.hh"
#include "G4PVPlacement.hh"
#include "G4VSolid.hh"
#include "G4Material.hh"
#include "G4FieldManager.hh"
#include "G4VSensitiveDetector.hh"
#include "G4UserLimits.hh"
#include "G4Box.hh"
#include "G4Tubs.hh"
#include "G4VScorer.hh"
#include "G4VCellScorer.hh"
#include "G4CellScorer.hh"
#include "G4CellStoreScorer.hh"
#include "G4VCellScorerStore.hh"
#include "G4ScoreTable.hh"
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4UserEventAction.hh"
#include "G4VUserPhysicsList.hh"
#include "G4VModularPhysicsList.hh"
#include "G4GeometryCell.hh"
#include "G4CellScoreValues.hh"
#include "G4CellScorerStore.hh"
#include "G4Scorer.hh"
#include "G4VSampler.hh"
#include "G4MassGeometrySampler.hh"
#include "G4ParallelGeometrySampler.hh"
#include "G4VImportanceAlgorithm.hh"
#include "G4CellScoreComposer.hh"
#include "G4VIStore.hh"
#include "G4IStore.hh"
#include "G4UserSteppingAction.hh"
#include <sstream>
#include "G4VisManager.hh"
#include "G4VUserDetectorConstruction.hh"
%}
%include std_string.i
%include G4String.i
%import CLHEP.i
%inline %{
typedef bool G4bool;
typedef double G4double;
typedef int G4int;
%}
%include G4VIStore.hh
%include G4GeometryCell.hh
%include G4IStore.hh
%include G4CellScoreValues.hh
%include G4CellScoreComposer.hh
%include G4VScorer.hh
%include G4VCellScorer.hh
%include G4CellScorer.hh
%include G4VCellScorerStore.hh
%include G4CellScorerStore.hh
%include G4CellStoreScorer.hh
%include G4Scorer.hh
%include G4VImportanceAlgorithm.hh
%include G4VSampler.hh
%include G4MassGeometrySampler.hh
%include G4ParallelGeometrySampler.hh
%include G4ScoreTable.hh
%extend G4ScoreTable {
const char *Write(const G4MapGeometryCellCellScorer &cs){
std::ostringstream tmpout;
self->Print(cs, &tmpout);
std::string *value = new std::string(tmpout.str());
return value->c_str();
};
}
class G4VisManager {
public:
void Initialize();
};
class G4VPhysicalVolume{
};
class G4VUserDetectorConstruction {
public:
G4VPhysicalVolume* Construct();
};
class G4VUserPrimaryGeneratorAction {
};
class G4VUserPhysicsList {
public:
void Construct();
};
class G4VModularPhysicsList: public G4VUserPhysicsList {
public:
void Construct();
};
class G4UserSteppingAction{
};
class G4UserEventAction{
};
class G4FieldManager {
};
class G4VSensitiveDetector {
};
class G4UserLimits {
};
class G4Material {
};
class G4VSolid {
};
class G4CSGSolid : public G4VSolid{
};
class G4Box : public G4CSGSolid
{
public:
G4Box(const G4String &pName, G4double pX, G4double pY, G4double pZ);
};
class G4Tubs : public G4CSGSolid
{
public:
G4Tubs(const G4String &pName,
G4double pRMin,
G4double pRMax,
G4double pDz,
G4double pSPhi,
G4double pDPhi );
};
class G4LogicalVolume
{
public:
G4LogicalVolume(G4VSolid *pSolid,
G4Material *pMaterial,
const G4String &pName,
G4FieldManager* pFieldMgr=0,
G4VSensitiveDetector* pSDetector=0,
G4UserLimits* pULimits=0,
G4bool optimise=true);
// Constructor. The solid and material pointer must be non null.
// The parameters for field, detector and user limits are optional.
// The volume also enters itself into the logical volume Store.
// Optimisation of the geometry (voxelisation) for the volume
// hierarchy is applied by default. For parameterised volumes in
// the hierarchy, optimisation is -always- applied.
};
class G4RotationMatrix{
public:
G4RotationMatrix();
};
class G4PVPlacement : public G4VPhysicalVolume
{
public:
G4PVPlacement(G4RotationMatrix *pRot,
const CLHEP::Hep3Vector &tlate,
G4LogicalVolume *pCurrentLogical,
const G4String &pName,
G4LogicalVolume *pMotherLogical = 0,
G4bool pMany = false,
G4int pCopyNo = 0);
};