Teleporter broken?

Issue #166 resolved
Jochem Snuverink created an issue

It seems the Teleporter element has no associated field with IntegratorTeleporter stepper after the fieldmaps merge:

  • In BDSTeleporter::Build() where the field is registered:
  BDSFieldInfo* vacuumFieldInfo = nullptr;
  BDSFieldBuilder::Instance()->RegisterFieldForConstruction(vacuumFieldInfo,
                                                            containerLogicalVolume,
                                                            true);

However, when the BDSFieldInfo pointer is nullptr, then the field is not registered for construction.

  • The method BDSFieldFactory::CreateTeleporter which is the only method that creates an IntegratorTeleporter stepper is never called anywhere.

So from what I can see the Teleporter element acts as a drift perhaps, but maybe there is another mechanism still in play. In best case the code needs some cleaning.

Comments (1)

  1. Laurie Nevay

    Indeed, this was broken. The code was unfinished in the field maps branch refactoring of the field construction. It worked without error though so appeared hidden. It's been finished and tested and a few bugs fixed. This doesn't affect the master branch; only develop.

  2. Log in to comment