26{
27
29
30 G4Random::setTheEngine(inputEventInfo->HepRandomEngine());
31
32
33
34 auto* eventInfo = inputEventInfo.get();
35 anEvent->SetEventID(eventInfo->AthenaEventID());
36 anEvent->SetUserInformation(inputEventInfo.release());
37
38 bool eventPreparationFailed = false;
39 try {
40
41 eventPreparationFailed =
42 eventInfo->EventFactory()(*anEvent).isFailure();
43 if(eventPreparationFailed) {
44 G4cerr << "Failed to prepare G4Event from Athena event" << G4endl;
45 }
46 }
47 catch(const std::exception& error) {
48 eventPreparationFailed = true;
49 G4cerr << "Exception while preparing G4Event from Athena event: "
50 <<
error.what() << G4endl;
51 }
52 catch(...) {
53 eventPreparationFailed = true;
54 G4cerr << "Unknown exception while preparing G4Event from Athena event"
55 << G4endl;
56 }
57
58 if(eventPreparationFailed) {
59 eventInfo->SetEventPreparationFailed();
60
61
62 }
63 }
64
65
66
67
68}