Coverage for yaptide/converter/converter/fluka/cards/lowmat_card.py: 79%

14 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-07-01 12:55 +0000

1from dataclasses import dataclass, field 

2from converter.fluka.helper_parsers.material_parser import FlukaLowMat 

3from converter.fluka.cards.card import Card 

4 

5 

6@dataclass 

7class LowMatsCard: 

8 """ 

9 Class representing description of low-energy neutron cross sections in Fluka input. 

10 Every material is represented by one line: 

11 codwed - "LOW-MAT" 

12 what(1) - Name of the Fluka material 

13 what(3) - what(6) not used 

14 sdum - Name of the low-energy neutron material 

15 documentation: https://flukafiles.web.cern.ch/manual/chapters/description_input/description_options/low-mat.html#low-mat # skipcq: FLK-W505 

16 """ 

17 

18 data: list[FlukaLowMat] = field(default_factory=list) 

19 codewd: str = "LOW-MAT" 

20 

21 def __str__(self) -> str: 

22 """Return card as string.""" 

23 result = "" 

24 for lowmat in self.data: 

25 what = [lowmat.material_name] 

26 sdum = lowmat.low_energy_neutron_material 

27 result += str(Card(self.codewd, what, sdum)) + "\n" 

28 return result.strip()