source: trunk/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i@ 1204

Last change on this file since 1204 was 807, checked in by garnier, 17 years ago

update

File size: 4.0 KB
Line 
1# $Id: G4Kernel.i,v 1.7 2005/12/15 14:24:56 ahoward Exp $
2# -------------------------------------------------------------------
3# GEANT4 tag $Name: $
4# -------------------------------------------------------------------
5
6%module G4Kernel
7%{
8#include <memory>
9#include <string>
10#include "globals.hh"
11#include "G4LogicalVolume.hh"
12#include "G4VPhysicalVolume.hh"
13#include "G4RotationMatrix.hh"
14#include "G4PVPlacement.hh"
15#include "G4VSolid.hh"
16#include "G4Material.hh"
17#include "G4FieldManager.hh"
18#include "G4VSensitiveDetector.hh"
19#include "G4UserLimits.hh"
20#include "G4Box.hh"
21#include "G4Tubs.hh"
22#include "G4VScorer.hh"
23#include "G4VCellScorer.hh"
24#include "G4CellScorer.hh"
25#include "G4CellStoreScorer.hh"
26#include "G4VCellScorerStore.hh"
27#include "G4ScoreTable.hh"
28#include "G4VUserPrimaryGeneratorAction.hh"
29#include "G4UserEventAction.hh"
30#include "G4VUserPhysicsList.hh"
31#include "G4VModularPhysicsList.hh"
32#include "G4GeometryCell.hh"
33#include "G4CellScoreValues.hh"
34#include "G4CellScorerStore.hh"
35#include "G4Scorer.hh"
36#include "G4VSampler.hh"
37#include "G4MassGeometrySampler.hh"
38#include "G4ParallelGeometrySampler.hh"
39#include "G4VImportanceAlgorithm.hh"
40#include "G4CellScoreComposer.hh"
41#include "G4VIStore.hh"
42#include "G4IStore.hh"
43#include "G4UserSteppingAction.hh"
44#include <sstream>
45#include "G4VisManager.hh"
46#include "G4VUserDetectorConstruction.hh"
47%}
48
49%include std_string.i
50%include G4String.i
51
52%import CLHEP.i
53%inline %{
54 typedef bool G4bool;
55 typedef double G4double;
56 typedef int G4int;
57%}
58
59
60%include G4VIStore.hh
61
62%include G4GeometryCell.hh
63
64%include G4IStore.hh
65
66%include G4CellScoreValues.hh
67
68%include G4CellScoreComposer.hh
69
70%include G4VScorer.hh
71
72%include G4VCellScorer.hh
73%include G4CellScorer.hh
74
75%include G4VCellScorerStore.hh
76%include G4CellScorerStore.hh
77
78%include G4CellStoreScorer.hh
79%include G4Scorer.hh
80
81%include G4VImportanceAlgorithm.hh
82
83%include G4VSampler.hh
84
85%include G4MassGeometrySampler.hh
86
87%include G4ParallelGeometrySampler.hh
88
89%include G4ScoreTable.hh
90%extend G4ScoreTable {
91 const char *Write(const G4MapGeometryCellCellScorer &cs){
92 std::ostringstream tmpout;
93 self->Print(cs, &tmpout);
94 std::string *value = new std::string(tmpout.str());
95 return value->c_str();
96 };
97}
98
99
100class G4VisManager {
101public:
102 void Initialize();
103};
104
105
106
107class G4VPhysicalVolume{
108};
109
110class G4VUserDetectorConstruction {
111public:
112 G4VPhysicalVolume* Construct();
113};
114
115
116class G4VUserPrimaryGeneratorAction {
117};
118
119class G4VUserPhysicsList {
120public:
121 void Construct();
122};
123
124class G4VModularPhysicsList: public G4VUserPhysicsList {
125public:
126 void Construct();
127};
128
129class G4UserSteppingAction{
130};
131
132class G4UserEventAction{
133};
134
135class G4FieldManager {
136};
137
138class G4VSensitiveDetector {
139};
140
141class G4UserLimits {
142};
143
144class G4Material {
145};
146
147
148class G4VSolid {
149};
150
151class G4CSGSolid : public G4VSolid{
152};
153
154class G4Box : public G4CSGSolid
155{
156public:
157 G4Box(const G4String &pName, G4double pX, G4double pY, G4double pZ);
158};
159
160
161class G4Tubs : public G4CSGSolid
162{
163public:
164 G4Tubs(const G4String &pName,
165 G4double pRMin,
166 G4double pRMax,
167 G4double pDz,
168 G4double pSPhi,
169 G4double pDPhi );
170};
171
172
173
174class G4LogicalVolume
175{
176public:
177 G4LogicalVolume(G4VSolid *pSolid,
178 G4Material *pMaterial,
179 const G4String &pName,
180 G4FieldManager* pFieldMgr=0,
181 G4VSensitiveDetector* pSDetector=0,
182 G4UserLimits* pULimits=0,
183 G4bool optimise=true);
184 // Constructor. The solid and material pointer must be non null.
185 // The parameters for field, detector and user limits are optional.
186 // The volume also enters itself into the logical volume Store.
187 // Optimisation of the geometry (voxelisation) for the volume
188 // hierarchy is applied by default. For parameterised volumes in
189 // the hierarchy, optimisation is -always- applied.
190
191};
192
193
194
195
196class G4RotationMatrix{
197public:
198 G4RotationMatrix();
199};
200
201class G4PVPlacement : public G4VPhysicalVolume
202{
203public:
204 G4PVPlacement(G4RotationMatrix *pRot,
205 const CLHEP::Hep3Vector &tlate,
206 G4LogicalVolume *pCurrentLogical,
207 const G4String &pName,
208 G4LogicalVolume *pMotherLogical = 0,
209 G4bool pMany = false,
210 G4int pCopyNo = 0);
211};
212
213
214
Note: See TracBrowser for help on using the repository browser.