source: trunk/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py@ 1158

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

update

File size: 3.2 KB
Line 
1# $Id: tiaraGenerators.py,v 1.3 2004/06/09 15:04:36 daquinog Exp $
2# -------------------------------------------------------------------
3# GEANT4 tag $Name: $
4# -------------------------------------------------------------------
5#
6import string
7import tiaraSpecifications
8import Tiara
9import os
10
11tiara_dir = os.environ["TIARA_BASE"]
12
13class TiaraPrimaryGenerator(object):
14 def __init__(self, tiaraSpecs):
15 self.name = "preIntegratedSource"
16 self.eSamp = Tiara.TiaraSampledEnergy(\
17 tiaraSpecs.experiment.energy,
18 tiaraSpecs.experiment.minNeutronEnergyCut,
19 tiara_dir + "/data/expDataConverted/source.xml",
20 "_v3")
21 self.tally = Tiara.TiaraTally()
22 self.tally.setBinEdges(tiaraSpecifications.\
23 sourceTallyEdges[tiaraSpecs.experiment.energy])
24
25 self.directionGenerator = Tiara.TiaraIsotropicDirections(\
26 0,
27 tiaraSpecs.dimensions)
28 self.primGen = Tiara.TiaraPrimaryGeneratorAction(\
29 self.eSamp,
30 self.directionGenerator,
31 self.tally,
32 tiaraSpecs.dimensions)
33 return
34
35
36class TiaraDPSEnergyGenerator(object):
37 def __init__(self, tiaraSpecs, xmlName):
38 self.Name = "dpsSource"
39 self.eSamp = Tiara.\
40 TiaraDPSSampledEnergy(tiaraSpecs.
41 experiment.energy,
42 tiaraSpecs.
43 experiment.minNeutronEnergyCut,
44 xmlName,
45 "")
46
47 self.tally = Tiara.TiaraTally()
48
49 if string.find(xmlName,"other") > -1:
50 if tiaraSpecs.experiment.energy == "43":
51 self.tally.setBinEdges([0,37.5, 43,50])
52 else:
53 if tiaraSpecs.experiment.energy == "68":
54 self.tally.setBinEdges([0,61, 69,80])
55 else:
56 self.tally.setBinEdges(tiaraSpecifications.\
57 sourceTallyEdges[tiaraSpecs.
58 experiment.energy])
59
60 self.directionGenerator = Tiara.TiaraIsotropicDirections(\
61 0,
62 tiaraSpecs.dimensions)
63 self.primGen = Tiara.TiaraPrimaryGeneratorAction(\
64 self.eSamp,
65 self.directionGenerator,
66 self.tally,
67 tiaraSpecs.dimensions)
68 return
69
70class FixedEnergyPrimaryGenerator(object):
71 def __init__(self, tiaraSpecs):
72 self.name = "fixedSource"
73 self.eSamp = Tiara.TiaraFixedEnergyGenerator(\
74 float(tiaraSpecs.experiment.energy))
75 self.tally = Tiara.TiaraTally()
76 self.tally.setBinEdges(tiaraSpecifications.\
77 sourceTallyEdges[tiaraSpecs.
78 experiment.energy])
79
80 self.directionGenerator = Tiara.TiaraIsotropicDirections(\
81 0,
82 tiaraSpecs.dimensions)
83 self.primGen = Tiara.TiaraPrimaryGeneratorAction(\
84 self.eSamp,
85 self.directionGenerator,
86 self.tally,
87 tiaraSpecs.dimensions)
88 return
89
90
91
Note: See TracBrowser for help on using the repository browser.