36 G4tgrRotationMatrixFactory::theInstance =
nullptr;
41 if(theInstance ==
nullptr)
49G4tgrRotationMatrixFactory::G4tgrRotationMatrixFactory()
54G4tgrRotationMatrixFactory::~G4tgrRotationMatrixFactory()
56 for(
auto cite = theTgrRotMats.cbegin(); cite != theTgrRotMats.cend(); ++cite)
60 theTgrRotMats.clear();
66 const std::vector<G4String>& wl)
69 if(wl.size() != 5 && wl.size() != 8 && wl.size() != 11)
72 G4Exception(
"G4tgrRotationMatrixFactory::AddRotMatrix()",
"InvalidMatrix",
79 G4cout <<
" G4tgrRotationMatrixFactory::AddRotMatrix() - Adding: " << wl[1]
86 G4String ErrMessage =
"Rotation matrix repeated... " + wl[1];
87 G4Exception(
"G4tgrRotationMatrixFactory::AddRotMatrix()",
"InvalidInput",
92 theTgrRotMats[rotm->
GetName()] = rotm;
93 theTgrRotMatList.push_back(rotm);
104 G4mstgrrotm::const_iterator cite = theTgrRotMats.find(name);
105 if(cite != theTgrRotMats.cend())
107 rotm = (*cite).second;
116 G4cout <<
" @@@@@@@@@@@@@@@@ DUMPING G4tgrRotationMatrix's List " <<
G4endl;
117 for(
auto cite = theTgrRotMats.cbegin(); cite != theTgrRotMats.cend(); ++cite)
119 G4cout <<
" ROTM: " << (*cite).second->GetName() <<
G4endl;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout
static G4int GetVerboseLevel()
G4tgrRotationMatrix * FindRotMatrix(const G4String &rotm)
G4tgrRotationMatrix * AddRotMatrix(const std::vector< G4String > &wl)
static G4tgrRotationMatrixFactory * GetInstance()
const G4String & GetName()
static G4String GetString(const G4String &str)
static void DumpVS(const std::vector< G4String > &wl, const char *msg)