--- /dev/null
+#include "ARVersion.h"
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TNamed.h>
+#include <THashList.h>
+#include <TObjArray.h>
+#include <TString.h>
+#include <TObjString.h>
+#endif
+
+TObjArray* findAliasesForClass(THashList &list, const char* className)
+{
+
+ TObjArray* matchingTrAliases = new TObjArray(2);
+ TNamed *n = dynamic_cast<TNamed*>(list.FindObject(className));
+ TString aliasList = n->GetTitle();
+ TObjArray* arrAliases = aliasList.Tokenize(',');
+ Int_t nAliases = arrAliases->GetEntries();
+ for(Int_t i=0; i<nAliases; i++){
+ TObjString *alias = dynamic_cast<TObjString*>(arrAliases->At(i));
+ matchingTrAliases->Add(alias);
+ }
+
+ return matchingTrAliases;
+}
--- /dev/null
+#include "ARVersion.h"
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TNamed.h>
+#include <THashList.h>
+#include <TObjArray.h>
+#include <TString.h>
+#include <TObjString.h>
+#endif
+
+TObjArray* findClassesForAlias(THashList &list, const char* aliasName)
+{
+
+ TObjArray* matchingTrClasses = new TObjArray(2);
+ TIter iter(&list);
+ TNamed *n = 0;
+ iter.Reset();
+ while((n = dynamic_cast<TNamed*>(iter.Next()))){
+ TString aliasList(n->GetTitle());
+ if(aliasList.Contains(aliasName)){
+ TObjArray* arrAliases = aliasList.Tokenize(',');
+ Int_t nAliases = arrAliases->GetEntries();
+ for(Int_t i=0; i<nAliases; i++){
+ TObjString *alias = (TObjString*) arrAliases->At(i);
+ alias->Print(0);
+ if(alias->String()==TString(aliasName)){
+ TObjString *trClass = new TObjString(n->GetName());
+ matchingTrClasses->Add(trClass);
+ }
+ }
+ }
+ }
+
+ return matchingTrClasses;
+}