Skip to content

[TGeo][Regression] RadLen and IntLen changed by factor of 10 (default unit system) #9383

@olifre

Description

@olifre
  • Checked for duplicates

Describe the bug

TGeoMaterial::RadLen and TGeoMaterial::IntLen are off by a factor of 10 since commit:
69ecafa#diff-d30f058e18d96b0e287376ae81abec13a0acabeff56793ceafdeaa258925fa1d

Example session with ROOT 6.14/02:

root [0] new TGeoManager();
root [1] gGeoManager->Material("Silicon",   28.0855,  14,  2.329, 1);
root [2] gGeoManager->GetListOfMaterials()->Print();
Collection name='THashList', class='THashList', size=1
 Material Silicon    A=28.0855 Z=14 rho=2.329 radlen=9.35362 intlen=45.7729 index=0

Example session with ROOT 6.24/06:

root [0] new TGeoManager();
root [1] gGeoManager->Material("Silicon",   28.0855,  14,  2.329, 1);
root [2] gGeoManager->GetListOfMaterials()->Print();
Collection name='THashList', class='THashList', size=1
 Material Silicon    A=28.0855 Z=14 rho=2.329 radlen=0.935361 intlen=4.57729 index=0

Additional context

This is using the "default" unit system, i.e. cm. Checking PDG data, it seems that 9.37, i.e. the old behaviour, was correct.

Reading through the code, it seems the cm2 factor was added to the denominator of the expression for the radiation length calculation and the cm factor was added multiplicatively, yielding a change by a factor of 10. I could not find the original Geant3 code, but it seems likely that the factors were absorbed in the constants there.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions