11 #ifndef DDDETECTORS_OTHERDETECTORHELPERS_H
12 #define DDDETECTORS_OTHERDETECTORHELPERS_H 1
47 static ECrossType getCrossType( std::string
const & type) {
49 std::map< std::string, ODH::ECrossType > CrossTypes;
71 std::map < std::string, ODH::ECrossType>::const_iterator ct = CrossTypes.find(type);
72 if ( ct == CrossTypes.end() ) {
73 throw std::runtime_error(
"Unknown Crossing Type for this geometry");
78 static bool checkForSensibleGeometry(
double crossingAngle,
ECrossType crossType) {
79 if (crossingAngle == 0 && crossType !=
kCenter) {
80 printout(dd4hep::ERROR,
"Mask/Beampip",
"You are trying to build a crossing geometry without a crossing angle.\n" );
81 printout(dd4hep::ERROR,
"Mask/Beampip",
"This is probably not what you want - better check your geometry data!");
88 static double getCurrentAngle(
double crossingAngle,
ECrossType crossType ) {
100 tmpAngle = -crossingAngle;
break;
109 tmpAngle = +crossingAngle;
break;
119 #endif // DDDETECTORS_OTHERDETECTORHELPERS_H