#include <Riostream.h>
#include <TObjString.h>
#include "AliMUONStringIntMap.h"
#include "AliLog.h"
using std::cout;
using std::setw;
using std::endl;
ClassImp(AliMUONStringIntMap)
AliMUONStringIntMap::AliMUONStringIntMap()
: TObject(),
fNofItems(0),
fFirstArray(100),
fSecondArray(100),
fCurrentIndex(0)
{
fFirstArray.SetOwner(true);
}
AliMUONStringIntMap::~AliMUONStringIntMap()
{
fFirstArray.Delete();
}
Bool_t AliMUONStringIntMap::Add(const TString& first, Int_t second)
{
Int_t second2 = Get(first);
if ( second2 > 0 ) {
AliError(Form("%s is already present in the map", first.Data()));
return false;
}
if (fSecondArray.GetSize() == fNofItems) fSecondArray.Set(2*fNofItems);
fFirstArray.Add(new TObjString(first));
fSecondArray.AddAt(second, fNofItems);
fNofItems++;
return true;
}
Bool_t AliMUONStringIntMap::Set(const TString& first, Int_t second)
{
Int_t index = Contains(first);
if ( index < 0 )
{
return Add(first,second);
}
fSecondArray.AddAt(second, index);
return true;
}
Int_t
AliMUONStringIntMap::Contains(const TString& first) const
{
for (Int_t i=0; i<fNofItems; i++)
{
if ( ((TObjString*)fFirstArray.At(i))->GetString() == first )
{
return i;
}
}
return -1;
}
Int_t AliMUONStringIntMap::Get(const TString& first) const
{
for (Int_t i=0; i<fNofItems; i++) {
if ( ((TObjString*)fFirstArray.At(i))->GetString() == first )
return fSecondArray.At(i);
}
return 0;
}
Int_t AliMUONStringIntMap::GetNofItems() const
{
return fNofItems;
}
void AliMUONStringIntMap::Clear(Option_t* )
{
fNofItems = 0;
fFirstArray.Delete();
fSecondArray.Reset();
}
void AliMUONStringIntMap::Print(const char* ) const
{
for (Int_t i=0; i<fNofItems; i++) {
cout << setw(4)
<< i << " "
<< ((TObjString*)fFirstArray.At(i))->GetString()
<< " "
<< setw(5)
<< fSecondArray.At(i)
<< endl;
}
}
void AliMUONStringIntMap::Print(const TString& key, ofstream& out) const
{
for (Int_t i=0; i<fNofItems; i++) {
out << key << " "
<< ((TObjString*)fFirstArray.At(i))->GetString()
<< " "
<< setw(5)
<< fSecondArray.At(i)
<< endl;
}
}
Bool_t AliMUONStringIntMap::Next(TString& first, Int_t& second)
{
if ( fCurrentIndex >= fNofItems ) return false;
TObjString* objString = (TObjString*)fFirstArray.At(fCurrentIndex);
first = objString->GetString();
second = fSecondArray.At(fCurrentIndex);
++fCurrentIndex;
return true;
}
void AliMUONStringIntMap::ResetItr()
{
fCurrentIndex = 0;
}
AliMUONStringIntMap.cxx:1 AliMUONStringIntMap.cxx:2 AliMUONStringIntMap.cxx:3 AliMUONStringIntMap.cxx:4 AliMUONStringIntMap.cxx:5 AliMUONStringIntMap.cxx:6 AliMUONStringIntMap.cxx:7 AliMUONStringIntMap.cxx:8 AliMUONStringIntMap.cxx:9 AliMUONStringIntMap.cxx:10 AliMUONStringIntMap.cxx:11 AliMUONStringIntMap.cxx:12 AliMUONStringIntMap.cxx:13 AliMUONStringIntMap.cxx:14 AliMUONStringIntMap.cxx:15 AliMUONStringIntMap.cxx:16 AliMUONStringIntMap.cxx:17 AliMUONStringIntMap.cxx:18 AliMUONStringIntMap.cxx:19 AliMUONStringIntMap.cxx:20 AliMUONStringIntMap.cxx:21 AliMUONStringIntMap.cxx:22 AliMUONStringIntMap.cxx:23 AliMUONStringIntMap.cxx:24 AliMUONStringIntMap.cxx:25 AliMUONStringIntMap.cxx:26 AliMUONStringIntMap.cxx:27 AliMUONStringIntMap.cxx:28 AliMUONStringIntMap.cxx:29 AliMUONStringIntMap.cxx:30 AliMUONStringIntMap.cxx:31 AliMUONStringIntMap.cxx:32 AliMUONStringIntMap.cxx:33 AliMUONStringIntMap.cxx:34 AliMUONStringIntMap.cxx:35 AliMUONStringIntMap.cxx:36 AliMUONStringIntMap.cxx:37 AliMUONStringIntMap.cxx:38 AliMUONStringIntMap.cxx:39 AliMUONStringIntMap.cxx:40 AliMUONStringIntMap.cxx:41 AliMUONStringIntMap.cxx:42 AliMUONStringIntMap.cxx:43 AliMUONStringIntMap.cxx:44 AliMUONStringIntMap.cxx:45 AliMUONStringIntMap.cxx:46 AliMUONStringIntMap.cxx:47 AliMUONStringIntMap.cxx:48 AliMUONStringIntMap.cxx:49 AliMUONStringIntMap.cxx:50 AliMUONStringIntMap.cxx:51 AliMUONStringIntMap.cxx:52 AliMUONStringIntMap.cxx:53 AliMUONStringIntMap.cxx:54 AliMUONStringIntMap.cxx:55 AliMUONStringIntMap.cxx:56 AliMUONStringIntMap.cxx:57 AliMUONStringIntMap.cxx:58 AliMUONStringIntMap.cxx:59 AliMUONStringIntMap.cxx:60 AliMUONStringIntMap.cxx:61 AliMUONStringIntMap.cxx:62 AliMUONStringIntMap.cxx:63 AliMUONStringIntMap.cxx:64 AliMUONStringIntMap.cxx:65 AliMUONStringIntMap.cxx:66 AliMUONStringIntMap.cxx:67 AliMUONStringIntMap.cxx:68 AliMUONStringIntMap.cxx:69 AliMUONStringIntMap.cxx:70 AliMUONStringIntMap.cxx:71 AliMUONStringIntMap.cxx:72 AliMUONStringIntMap.cxx:73 AliMUONStringIntMap.cxx:74 AliMUONStringIntMap.cxx:75 AliMUONStringIntMap.cxx:76 AliMUONStringIntMap.cxx:77 AliMUONStringIntMap.cxx:78 AliMUONStringIntMap.cxx:79 AliMUONStringIntMap.cxx:80 AliMUONStringIntMap.cxx:81 AliMUONStringIntMap.cxx:82 AliMUONStringIntMap.cxx:83 AliMUONStringIntMap.cxx:84 AliMUONStringIntMap.cxx:85 AliMUONStringIntMap.cxx:86 AliMUONStringIntMap.cxx:87 AliMUONStringIntMap.cxx:88 AliMUONStringIntMap.cxx:89 AliMUONStringIntMap.cxx:90 AliMUONStringIntMap.cxx:91 AliMUONStringIntMap.cxx:92 AliMUONStringIntMap.cxx:93 AliMUONStringIntMap.cxx:94 AliMUONStringIntMap.cxx:95 AliMUONStringIntMap.cxx:96 AliMUONStringIntMap.cxx:97 AliMUONStringIntMap.cxx:98 AliMUONStringIntMap.cxx:99 AliMUONStringIntMap.cxx:100 AliMUONStringIntMap.cxx:101 AliMUONStringIntMap.cxx:102 AliMUONStringIntMap.cxx:103 AliMUONStringIntMap.cxx:104 AliMUONStringIntMap.cxx:105 AliMUONStringIntMap.cxx:106 AliMUONStringIntMap.cxx:107 AliMUONStringIntMap.cxx:108 AliMUONStringIntMap.cxx:109 AliMUONStringIntMap.cxx:110 AliMUONStringIntMap.cxx:111 AliMUONStringIntMap.cxx:112 AliMUONStringIntMap.cxx:113 AliMUONStringIntMap.cxx:114 AliMUONStringIntMap.cxx:115 AliMUONStringIntMap.cxx:116 AliMUONStringIntMap.cxx:117 AliMUONStringIntMap.cxx:118 AliMUONStringIntMap.cxx:119 AliMUONStringIntMap.cxx:120 AliMUONStringIntMap.cxx:121 AliMUONStringIntMap.cxx:122 AliMUONStringIntMap.cxx:123 AliMUONStringIntMap.cxx:124 AliMUONStringIntMap.cxx:125 AliMUONStringIntMap.cxx:126 AliMUONStringIntMap.cxx:127 AliMUONStringIntMap.cxx:128 AliMUONStringIntMap.cxx:129 AliMUONStringIntMap.cxx:130 AliMUONStringIntMap.cxx:131 AliMUONStringIntMap.cxx:132 AliMUONStringIntMap.cxx:133 AliMUONStringIntMap.cxx:134 AliMUONStringIntMap.cxx:135 AliMUONStringIntMap.cxx:136 AliMUONStringIntMap.cxx:137 AliMUONStringIntMap.cxx:138 AliMUONStringIntMap.cxx:139 AliMUONStringIntMap.cxx:140 AliMUONStringIntMap.cxx:141 AliMUONStringIntMap.cxx:142 AliMUONStringIntMap.cxx:143 AliMUONStringIntMap.cxx:144 AliMUONStringIntMap.cxx:145 AliMUONStringIntMap.cxx:146 AliMUONStringIntMap.cxx:147 AliMUONStringIntMap.cxx:148 AliMUONStringIntMap.cxx:149 AliMUONStringIntMap.cxx:150 AliMUONStringIntMap.cxx:151 AliMUONStringIntMap.cxx:152 AliMUONStringIntMap.cxx:153 AliMUONStringIntMap.cxx:154 AliMUONStringIntMap.cxx:155 AliMUONStringIntMap.cxx:156 AliMUONStringIntMap.cxx:157 AliMUONStringIntMap.cxx:158 AliMUONStringIntMap.cxx:159 AliMUONStringIntMap.cxx:160 AliMUONStringIntMap.cxx:161 AliMUONStringIntMap.cxx:162 AliMUONStringIntMap.cxx:163 AliMUONStringIntMap.cxx:164 AliMUONStringIntMap.cxx:165 AliMUONStringIntMap.cxx:166 AliMUONStringIntMap.cxx:167 AliMUONStringIntMap.cxx:168 AliMUONStringIntMap.cxx:169 AliMUONStringIntMap.cxx:170 AliMUONStringIntMap.cxx:171 AliMUONStringIntMap.cxx:172 AliMUONStringIntMap.cxx:173 AliMUONStringIntMap.cxx:174 AliMUONStringIntMap.cxx:175 AliMUONStringIntMap.cxx:176 AliMUONStringIntMap.cxx:177 AliMUONStringIntMap.cxx:178 AliMUONStringIntMap.cxx:179 AliMUONStringIntMap.cxx:180 AliMUONStringIntMap.cxx:181 AliMUONStringIntMap.cxx:182 AliMUONStringIntMap.cxx:183 AliMUONStringIntMap.cxx:184 AliMUONStringIntMap.cxx:185 AliMUONStringIntMap.cxx:186 AliMUONStringIntMap.cxx:187 AliMUONStringIntMap.cxx:188 AliMUONStringIntMap.cxx:189 AliMUONStringIntMap.cxx:190 AliMUONStringIntMap.cxx:191 AliMUONStringIntMap.cxx:192 AliMUONStringIntMap.cxx:193 AliMUONStringIntMap.cxx:194 AliMUONStringIntMap.cxx:195 AliMUONStringIntMap.cxx:196 AliMUONStringIntMap.cxx:197 AliMUONStringIntMap.cxx:198 AliMUONStringIntMap.cxx:199 AliMUONStringIntMap.cxx:200 AliMUONStringIntMap.cxx:201 AliMUONStringIntMap.cxx:202 AliMUONStringIntMap.cxx:203 AliMUONStringIntMap.cxx:204 AliMUONStringIntMap.cxx:205