27def ForwardTransportSvcCfg(flags, name="ForwardTransportSvc", **kwargs):
28 from AthenaCommon.Logging import logging
29 msg = logging.getLogger("ForwardTransportSvcCfg")
30
31 twiss_beam1 = resolveTwissBeamFilePath(flags.Sim.TwissFileBeam1, msg)
32 twiss_beam2 = resolveTwissBeamFilePath(flags.Sim.TwissFileBeam2, msg)
33 if twiss_beam1 is None or twiss_beam2 is None:
34 msg.info("Attempting to build TwissFileBeam paths manually")
35
36 twiss_beam1 = buildTwissFilePath(flags, msg, 'beam1.tfs')
37 twiss_beam2 = buildTwissFilePath(flags, msg, 'beam2.tfs')
38
39
40 kwargs.setdefault("TwissFile1", twiss_beam1)
41 kwargs.setdefault("TwissFile2", twiss_beam2)
42 kwargs.setdefault("PositionC1", 149)
43 kwargs.setdefault("PositionC2", 184)
44 kwargs.setdefault("ApertureC1", 999)
45 kwargs.setdefault("ApertureC2", 999)
46 if flags.Detector.GeometryALFA or flags.Detector.GeometryAFP:
47 return ALFAForwardTransportSvcCfg(name, **kwargs)
48 if flags.Detector.GeometryZDC:
49 return ZDCForwardTransportSvcCfg (name, **kwargs)
50 msg.warning("ALFA and ZDC are deactivated.")
51 return ComponentAccumulator()
52
53