Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-17 07:47:27

0001 import acts
0002 import acts.fatras
0003 
0004 
0005 def test_barcode_roundtrip_properties():
0006     barcode = acts.fatras.Barcode()
0007     assert not barcode.isValid()
0008 
0009     barcode.vertexPrimary = 1
0010     barcode.vertexSecondary = 2
0011     barcode.particle = 3
0012     barcode.generation = 4
0013     barcode.subParticle = 5
0014 
0015     assert barcode.vertexPrimary == 1
0016     assert barcode.vertexSecondary == 2
0017     assert barcode.particle == 3
0018     assert barcode.generation == 4
0019     assert barcode.subParticle == 5
0020     assert barcode.isValid()
0021     assert "vp=" in repr(barcode)
0022 
0023 
0024 def test_invalid_barcode_factory():
0025     invalid = acts.fatras.Barcode.Invalid()
0026     assert isinstance(invalid, acts.fatras.Barcode)
0027     assert not invalid.isValid()
0028 
0029 
0030 def test_process_and_outcome_enums_available():
0031     assert (
0032         acts.fatras.GenerationProcess.eUndefined != acts.fatras.GenerationProcess.eDecay
0033     )
0034     assert (
0035         acts.fatras.GenerationProcess.ePhotonConversion
0036         == acts.fatras.GenerationProcess.ePhotonConversion
0037     )
0038     assert (
0039         acts.fatras.SimulationOutcome.Alive
0040         != acts.fatras.SimulationOutcome.KilledInteraction
0041     )
0042 
0043 
0044 def test_particle_construction_and_properties():
0045     barcode = acts.fatras.Barcode()
0046     barcode.vertexPrimary = 1
0047     barcode.particle = 42
0048 
0049     particle = acts.fatras.Particle(barcode, acts.PdgParticle.eMuon, -1.0, 0.105658)
0050 
0051     assert isinstance(particle.particleId, acts.fatras.Barcode)
0052     assert particle.particleId.vertexPrimary == 1
0053     assert particle.particleId.particle == 42
0054     assert particle.pdg == acts.PdgParticle.eMuon
0055     assert particle.absolutePdg == acts.PdgParticle.eMuon
0056     assert particle.charge == -1.0
0057     assert particle.mass == 0.105658
0058 
0059 
0060 def test_particle_construction_from_pdg_table():
0061     barcode = acts.fatras.Barcode()
0062     barcode.vertexPrimary = 1
0063     barcode.particle = 7
0064 
0065     particle = acts.fatras.Particle(barcode, acts.PdgParticle.eMuon)
0066     assert particle.particleId.particle == 7
0067     assert particle.pdg == acts.PdgParticle.eMuon
0068     assert particle.absolutePdg == acts.PdgParticle.eMuon
0069     assert particle.mass > 0