ROOT logo
//*-- AUTHOR : Ilse Koenig
//*-- Modified last : 21/01/2002 by Ilse Koenig

//_HADES_CLASS_DESCRIPTION 
/////////////////////////////////////////////////////////////
//
//  HMdcTrackDContFact
//
//  Factory for the parameter containers in libMdcTrackD
//
/////////////////////////////////////////////////////////////
using namespace std;
#include "hmdctrackdcontfact.h"
#include "hruntimedb.h"
#include "hmdctrackfitpar.h"
#include "hmdcdedx2.h"
#include "hmdclayercorrpar.h"
#include <iostream> 
#include <iomanip>

ClassImp(HMdcTrackDContFact)

static HMdcTrackDContFact gHMdcTrackDContFact;

HMdcTrackDContFact::HMdcTrackDContFact() {
  // Constructor (called when the library is loaded)
  fName="MdcTrackDContFact";
  fTitle="Factory for parameter containers in libMdcTrackD";
  setAllContainers();
  HRuntimeDb::instance()->addContFactory(this);
}

void HMdcTrackDContFact::setAllContainers() {
  // Creates the Container objects with all accepted contexts and adds them to
  // the list of containers for the MdcTrackD library.
  containers->Add(
    new HContainer("MdcTrackFitPar",
                   "parameters for DUBNA fitter",
                   "MdcTrackFitParProduction"));


  HContainer* dedx2= new HContainer("MdcDeDx2",
                                   "parameters for Mdc dedx calculation (new)",
                                   "MdcDeDxProduction");
  containers->Add(dedx2);
  
  HContainer* layrCorr = new HContainer("MdcLayerCorrPar",
                                        "parameters for Mdc layer correction",
                                        "MdcLayerCorrProduction");
  containers->Add(layrCorr);

}

HParSet* HMdcTrackDContFact::createContainer(HContainer* c) {
  // Calls the constructor of the corresponding parameter container.
  // For an actual context, which is not an empty string and not the default context
  // of this container, the name is concatinated with the context.
  const Char_t* name=c->GetName();
  if (strcmp(name,"MdcTrackFitPar")==0)
    return new HMdcTrackFitPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"MdcDeDx2")==0)
    return new HMdcDeDx2(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"MdcLayerCorrPar")==0)
    return new HMdcLayerCorrPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  return 0;
}
 hmdctrackdcontfact.cc:1
 hmdctrackdcontfact.cc:2
 hmdctrackdcontfact.cc:3
 hmdctrackdcontfact.cc:4
 hmdctrackdcontfact.cc:5
 hmdctrackdcontfact.cc:6
 hmdctrackdcontfact.cc:7
 hmdctrackdcontfact.cc:8
 hmdctrackdcontfact.cc:9
 hmdctrackdcontfact.cc:10
 hmdctrackdcontfact.cc:11
 hmdctrackdcontfact.cc:12
 hmdctrackdcontfact.cc:13
 hmdctrackdcontfact.cc:14
 hmdctrackdcontfact.cc:15
 hmdctrackdcontfact.cc:16
 hmdctrackdcontfact.cc:17
 hmdctrackdcontfact.cc:18
 hmdctrackdcontfact.cc:19
 hmdctrackdcontfact.cc:20
 hmdctrackdcontfact.cc:21
 hmdctrackdcontfact.cc:22
 hmdctrackdcontfact.cc:23
 hmdctrackdcontfact.cc:24
 hmdctrackdcontfact.cc:25
 hmdctrackdcontfact.cc:26
 hmdctrackdcontfact.cc:27
 hmdctrackdcontfact.cc:28
 hmdctrackdcontfact.cc:29
 hmdctrackdcontfact.cc:30
 hmdctrackdcontfact.cc:31
 hmdctrackdcontfact.cc:32
 hmdctrackdcontfact.cc:33
 hmdctrackdcontfact.cc:34
 hmdctrackdcontfact.cc:35
 hmdctrackdcontfact.cc:36
 hmdctrackdcontfact.cc:37
 hmdctrackdcontfact.cc:38
 hmdctrackdcontfact.cc:39
 hmdctrackdcontfact.cc:40
 hmdctrackdcontfact.cc:41
 hmdctrackdcontfact.cc:42
 hmdctrackdcontfact.cc:43
 hmdctrackdcontfact.cc:44
 hmdctrackdcontfact.cc:45
 hmdctrackdcontfact.cc:46
 hmdctrackdcontfact.cc:47
 hmdctrackdcontfact.cc:48
 hmdctrackdcontfact.cc:49
 hmdctrackdcontfact.cc:50
 hmdctrackdcontfact.cc:51
 hmdctrackdcontfact.cc:52
 hmdctrackdcontfact.cc:53
 hmdctrackdcontfact.cc:54
 hmdctrackdcontfact.cc:55
 hmdctrackdcontfact.cc:56
 hmdctrackdcontfact.cc:57
 hmdctrackdcontfact.cc:58
 hmdctrackdcontfact.cc:59
 hmdctrackdcontfact.cc:60
 hmdctrackdcontfact.cc:61
 hmdctrackdcontfact.cc:62
 hmdctrackdcontfact.cc:63
 hmdctrackdcontfact.cc:64
 hmdctrackdcontfact.cc:65
 hmdctrackdcontfact.cc:66