void KVNameValueList::SetValue(const KVNamedParameter& p)
{
   // add (or replace) a parameter with the same name, type & value as 'p'

   KVNamedParameter* par = FindParameter(p.GetName());
   par ? par->Set(p.GetName(), p) : fList.Add(new KVNamedParameter(p));

}
void KVVAMOSDetector::SetT0(const Char_t* type, Double_t t0)
{
   // Set the value of the constant T0 (in ns) used for calibrating
   // time of flight of type 'type' (SED_HF, SI_HF, SI_SED1, ...).

   KVNamedParameter* par = (KVNamedParameter*)fT0list->FindObject(Form("T%s", type));
   if (par) par->Set(t0);
   else Error("SetT0", "Impossible to set T0 for unknown time ACQ parameter %s", type);
}