+
+ RegisterHistos();
+}
+
+//----------------------------------------------------------------------
+void
+AliMUONTriggerLut::RegisterHistos()
+{
+/// Add histos to our internal map
+
+ Add(fLptPlus);
+ Add(fLptMinu);
+ Add(fLptUnde);
+
+ Add(fHptPlus);
+ Add(fHptMinu);
+ Add(fHptUnde);
+
+ Add(fAptPlus);
+ Add(fAptMinu);
+ Add(fAptUnde);
+}
+
+//----------------------------------------------------------------------
+void
+AliMUONTriggerLut::Add(TH3* h)
+{
+ /// Update internal map
+ if (!fMap)
+ {
+ fMap = new TMap;
+ fMap->SetOwner(kTRUE);
+ }
+
+ if (h) fMap->Add(new TObjString(h->GetName()),h);
+}
+
+//----------------------------------------------------------------------
+void
+AliMUONTriggerLut::SetContent(const char* hname, Int_t icirc, UChar_t istripX,
+ UChar_t idev, Short_t value)
+{
+ /// Set the content of one bin of one histogram
+
+ if (!fMap)
+ {
+ //..........................................circuit/stripX/deviation
+ fLptPlus = new TH3S("LptPlus","LptPlus",234,0,234,31,0,31,31,0,31);
+ fLptMinu = new TH3S("LptMinu","LptMinu",234,0,234,31,0,31,31,0,31);
+ fLptUnde = new TH3S("LptUnde","LptUnde",234,0,234,31,0,31,31,0,31);
+
+ fHptPlus = new TH3S("HptPlus","HptPlus",234,0,234,31,0,31,31,0,31);
+ fHptMinu = new TH3S("HptMinu","HptMinu",234,0,234,31,0,31,31,0,31);
+ fHptUnde = new TH3S("HptUnde","HptUnde",234,0,234,31,0,31,31,0,31);
+
+ fAptPlus = new TH3S("AptPlus","AptPlus",234,0,234,31,0,31,31,0,31);
+ fAptMinu = new TH3S("AptMinu","AptMinu",234,0,234,31,0,31,31,0,31);
+ fAptUnde = new TH3S("AptUnde","AptUnde",234,0,234,31,0,31,31,0,31);
+
+ RegisterHistos();
+ }
+
+ TH3* h = static_cast<TH3*>(fMap->GetValue(hname));
+
+ Int_t bin = h->GetBin(icirc,istripX,idev);
+ h->SetBinContent(bin,value);