12 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
13 #include <framework/logging/Logger.h>
34 return forwardBackward * arcLength2D >= 0;
38 inline TrackFindingCDC::EForwardBackward
fromString(
const std::string& directionString)
40 if (directionString ==
"forward" or directionString ==
"above" or directionString ==
"after") {
41 return TrackFindingCDC::EForwardBackward::c_Forward;
42 }
else if (directionString ==
"backward" or directionString ==
"below" or directionString ==
"before") {
43 return TrackFindingCDC::EForwardBackward::c_Backward;
44 }
else if (directionString ==
"both" or directionString ==
"unknown") {
45 return TrackFindingCDC::EForwardBackward::c_Unknown;
46 }
else if (directionString ==
"none" or directionString ==
"invalid") {
47 return TrackFindingCDC::EForwardBackward::c_Invalid;
49 B2FATAL(
"Do not understand direction " << directionString <<
". Valid names are " <<
50 "forward/above/after, backward/below/before, both/unknown, none/invalid");