19#ifndef BDSARRAYREFLECTIONTYPE_H
20#define BDSARRAYREFLECTIONTYPE_H
21#include "BDSTypeSafeEnum.hh"
35 enum type {flipsimple,
36 flipx, flipy, flipz, flipt,
38 reflectx, reflecty, reflectz, reflectt,
50typedef std::set<BDSArrayReflectionType> BDSArrayReflectionTypeSet;
64std::ostream& operator<< (std::ostream &out, BDSArrayReflectionTypeSet
const& t);
Improve type-safety of native enum data type in C++.
Return either G4Tubs or G4CutTubs depending on flat face.
BDSArrayReflectionTypeSet DetermineArrayReflectionTypeSet(const G4String &arrayReflectionType)
Return a std::set of reflection types. Split string on white space.
BDSArrayReflectionType DetermineArrayReflectionType(G4String arrayReflectionType)
Function that gives corresponding enum value for string (case-insensitive)
G4bool ProblemWithArrayReflectionCombination(const BDSArrayReflectionTypeSet &setIn, G4String *details=nullptr)
Return true if there's a conceptual conflict with the set of field reflections requested.
Type definition for array reflections.