18#ifndef BDSARRAYREFLECTIONTYPE_H
19#define BDSARRAYREFLECTIONTYPE_H
20#include "BDSTypeSafeEnum.hh"
34 enum type {flipsimple,
35 flipx, flipy, flipz, flipt,
37 reflectx, reflecty, reflectz, reflectt,
49typedef std::set<BDSArrayReflectionType> BDSArrayReflectionTypeSet;
63std::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.