+const char*
+Phantom::convertPhantomIDToName (const PhantomID phmID)
+{
+ const char *name = "";
+
+ if (phmID == PHM_HERMAN)
+ name = PHM_HERMAN_STR;
+ else if (phmID == PHM_BHERMAN)
+ name = PHM_BHERMAN_STR;
+ else if (phmID == PHM_ROWLAND)
+ name = PHM_ROWLAND_STR;
+ else if (phmID == PHM_BROWLAND)
+ name = PHM_BROWLAND_STR;
+ else if (phmID == PHM_UNITPULSE)
+ name = PHM_UNITPULSE_STR;
+
+ return (name);
+}
+
+Phantom::PhantomID
+Phantom::convertNameToPhantomID (const char* const phmName)
+{
+ PhantomID id = PHM_INVALID;
+
+ if (strcasecmp (phmName, PHM_HERMAN_STR) == 0)
+ id = PHM_HERMAN;
+ else if (strcasecmp (phmName, PHM_BHERMAN_STR) == 0)
+ id = PHM_BHERMAN;
+ else if (strcasecmp (phmName, PHM_ROWLAND_STR) == 0)
+ id = PHM_ROWLAND;
+ else if (strcasecmp (phmName, PHM_BROWLAND_STR) == 0)
+ id = PHM_BROWLAND;
+ else if (strcasecmp (phmName, PHM_UNITPULSE_STR) == 0)
+ id = PHM_UNITPULSE;
+
+ return (id);
+}
+
+
+bool
+Phantom::createFromPhantom (const char* const phmName)
+{
+ PhantomID phmid = convertNameToPhantomID (phmName);
+ if (phmid == PHM_INVALID) {
+ m_fail = true;
+ m_failMessage = "Invalid phantom name ";
+ m_failMessage += phmName;
+ return false;
+ }
+
+ m_name = phmName;
+ createFromPhantom (phmid);
+}
+
+bool
+Phantom::createFromPhantom (const PhantomID phmid)