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

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