pymchelper.shieldhit.detector package#

Submodules#

pymchelper.shieldhit.detector.detector_type module#

class pymchelper.shieldhit.detector.detector_type.SHDetType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: IntEnum

List of available detector types below is based on IDET(5,*) in detect.f and sh_scoredef.h in SHIELD-HIT12A. If new detectors are added, class SHEstimator in estimator.py should also be updated.

a = 30#
alanine = 13#
alanine_gy_bdo2016 = 213#
amass = 31#
amu = 32#
angle = 25#
angle_bdo2016 = 121#
avg_beta = 9#
avg_energy = 8#
count = 55#
count_point = 57#
counter = 14#
crossflu = 3#
ddd = 12#
dedx = 35#
dlet = 6#
dletg = 16#
dose = 5#
dose_av_q = 48#
dose_av_z2beta2 = 46#
dose_eqv = 40#
dose_gy = 39#
dose_gy_bdo2016 = 205#
dq_eff = 61#
dzeff2beta2 = 54#
energy = 1#
energy_amu = 29#
energy_nuc = 28#
eqv_dose = 41#
flu_char = 22#
flu_neqv = 24#
flu_neut = 23#
fluence = 2#
gen = 33#
id = 34#
invalid = 32767#
kinetic_energy = 27#
let_bdo2016 = 120#
letflu = 4#
mass_dedx = 36#
material = 11#
mcpl = 63#
medium = 19#
moca_yd = 59#
moca_yf = 58#
n_eqv_dose = 44#
nkerma = 38#
none = 0#
norm_count_point = 56#
pet = 15#
q = 21#
q_eff = 60#
rho = 20#
spc = 10#
tlet = 7#
tletg = 17#
tq_eff = 62#
trace = 26#
track_av_q = 49#
track_av_z2beta2 = 47#
track_length = 37#
tzeff2beta2 = 53#
user1 = 42#
user2 = 43#
z = 50#
z2beta2 = 45#
zeff = 51#
zeff2beta2 = 52#
zone = 18#

pymchelper.shieldhit.detector.estimator module#

class pymchelper.shieldhit.detector.estimator.SHEstimator[source]#

Bases: object

allowed_detectors = {SHGeoType.unknown: (), SHGeoType.zone: <generator object SHEstimator.<genexpr>>, SHGeoType.cyl: <generator object SHEstimator.<genexpr>>, SHGeoType.msh: <generator object SHEstimator.<genexpr>>, SHGeoType.plane: <generator object SHEstimator.<genexpr>>, SHGeoType.dzone: <generator object SHEstimator.<genexpr>>, SHGeoType.dcyl: <generator object SHEstimator.<genexpr>>, SHGeoType.dmsh: <generator object SHEstimator.<genexpr>>, SHGeoType.dplane: <generator object SHEstimator.<genexpr>>, SHGeoType.dcylz: <generator object SHEstimator.<genexpr>>, SHGeoType.dmshz: <generator object SHEstimator.<genexpr>>, SHGeoType.trace: (SHDetType.none,), SHGeoType.voxscore: <generator object SHEstimator.<genexpr>>, SHGeoType.geomap: (SHDetType.zone, SHDetType.medium, SHDetType.rho)}#
is_valid()[source]#

pymchelper.shieldhit.detector.estimator_type module#

class pymchelper.shieldhit.detector.estimator_type.SHGeoType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: IntEnum

cyl = 2#
dcyl = 6#
dcylz = 10#
dmsh = 7#
dmshz = 11#
dplane = 8#
dzone = 5#
geomap = 15#
msh = 3#
plane = 4#
trace = 13#
unknown = 0#
voxscore = 14#
zone = 1#

pymchelper.shieldhit.detector.fortran_card module#

class pymchelper.shieldhit.detector.fortran_card.CardLine(data=None)[source]#

Bases: object

Represents single line of detect.dat file

static any_to_element(s, align_right=True)[source]#
comment = '*----0---><----1---><----2---><----3---><----4---><----5---><----6--->'#
credits = '* generated by pymchelper (https://github.com/DataMedSci/pymchelper) *'#
element_length = 10#
no_of_elements = 7#
class pymchelper.shieldhit.detector.fortran_card.EstimatorReader[source]#

Bases: object

class pymchelper.shieldhit.detector.fortran_card.EstimatorWriter[source]#

Bases: object

Helper class. Gives textual representation of Estimator objects.

static get_lines(estimator)[source]#

Converts estimator to CardLine objects :param estimator: valid estimator object :return: tuple of CardLine objects

static get_text(estimator, add_comment=False)[source]#

Converts Estimator to text :param estimator: valid Estimator object :param add_comment: if True, prepends textual representation with comment line :return: text representation (set of text lines) of Estimator

pymchelper.shieldhit.detector.geometry module#

class pymchelper.shieldhit.detector.geometry.Axis(name='', start=None, stop=None, nbins=None, number=None)[source]#

Bases: object

Represents named sequence of nbins numbers, with known start and end position. Can be used as container to describe scoring geometry along one of the axis.

set(start=None, stop=None, nbins=None, number=None)[source]#
class pymchelper.shieldhit.detector.geometry.CarthesianMesh[source]#

Bases: Geometry

Carthesian mesh along X,Y and Z axis

static allowed_estimators()[source]#
Returns:

List of compatible estimators for this scoring geometry.

class pymchelper.shieldhit.detector.geometry.CylindricalMesh[source]#

Bases: Geometry

Cylindrical mesh along R, PHI and Z axis

static allowed_estimators()[source]#
Returns:

List of compatible estimators for this scoring geometry.

class pymchelper.shieldhit.detector.geometry.Geometry[source]#

Bases: object

Base class for all types of scoring geometries. Holds information about three axes. Three axis are used to allow scoring up to 3 dimensions. Lower number of dimensions (i.e. scoring on square) are achieved by setting nbins=1 in the axis.

static allowed_estimators()[source]#
Returns:

List of compatible estimators for this scoring geometry.

set_axis(axis_no, start=None, stop=None, nbins=None)[source]#

Fill axis data :param axis_no: integer number, from 0 to 2, specifies axis number :param start: start position :param stop: stop position :param nbins: number of elements :return: None

class pymchelper.shieldhit.detector.geometry.Plane[source]#

Bases: object

Plane scoring geometry

static allowed_estimators()[source]#
set_normal(x=None, y=None, z=None)[source]#
set_point(x=None, y=None, z=None)[source]#
class pymchelper.shieldhit.detector.geometry.Zone[source]#

Bases: object

Zone scoring geometry - start and stop

static allowed_estimators()[source]#

Module contents#