Coverage for yaptide/converter/converter/fluka/cards/matprop_card.py: 85%
13 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-07-01 12:55 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-07-01 12:55 +0000
1from dataclasses import dataclass, field
2from converter.fluka.cards.card import Card
3from converter.fluka.helper_parsers.material_parser import IonisationPotential
6@dataclass
7class MatPropsCard:
8 """
9 Class representing description of material properties in FLUKA input.
10 Every material assignment is represented by one line:
11 codwed - "MAT-PROP"
12 what(1) - 0 - ignored
13 what(2) - 0 - ignored
14 what(3) - average ionisation potential
15 what(4) - material name
16 what(5) - empty, default what(4)
17 what(6) - 0 step length in assigning indices
18 sdum - empty
19 documentation: https://flukafiles.web.cern.ch/manual/chapters/description_input/description_options/mat-prop.html#mat-prop skipcq: FLK-W505
20 """
22 data: list[IonisationPotential] = field(default_factory=list)
23 codewd: str = "MAT-PROP"
25 def __str__(self) -> str:
26 """Return card as string."""
27 result = ""
28 for ionisation_potential in self.data:
29 what = [
30 0.0,
31 0.0,
32 ionisation_potential.ionisation_potential,
33 ionisation_potential.material_name,
34 "",
35 0.0,
36 ]
37 result += str(Card(self.codewd, what)) + "\n"
38 return result.strip()