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

Last change on this file since 1321 was 807, checked in by garnier, 16 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.