+ * \brief Retrieve the specified dictionary (when existing) from this
+ * gdcmDictSet.
+ * @param DictName The symbolic name of the searched dictionary.
+ * \result The retrieved dictionary.
+ */
+gdcmDict *gdcmDictSet::GetDict(DictKey DictName)
+{
+ DictSetHT::iterator dict = Dicts.find(DictName);
+ if(dict!=Dicts.end())
+ return dict->second;
+ return NULL;
+}
+
+/**
+ * \brief Retrieve the default reference DICOM V3 public dictionary.
+ * \result The retrieved default dictionary.
+ */
+gdcmDict *gdcmDictSet::GetDefaultPubDict()
+{
+ return GetDict(PUB_DICT_NAME);
+}
+
+/**
+ * \brief Create a gdcmDictEntry which will be reference
+ * in no dictionnary
+ * @return virtual entry
+ */
+gdcmDictEntry *gdcmDictSet::NewVirtualDictEntry(uint16_t group,
+ uint16_t element,
+ std::string vr,
+ std::string fourth,
+ std::string name)
+{
+ gdcmDictEntry* entry;
+ std::string tag = gdcmDictEntry::TranslateToKey(group,element)
+ + "#" + vr + "#" + fourth + "#" + name;
+ std::map<std::string,gdcmDictEntry *>::iterator it;
+
+ it=virtualEntry.find(tag);
+ if(it!=virtualEntry.end())
+ {
+ entry=it->second;
+ }
+ else
+ {
+ entry=new gdcmDictEntry(group,element,vr,fourth,name);
+ virtualEntry[tag]=entry;
+ }
+ return(entry);
+}
+
+/**