using namespace std;
#include "hparticlecontfact.h"
#include "hruntimedb.h"
#include "hparticlecandfillerpar.h"
#include "hparticlebtpar.h"
#include <iostream>
#include <iomanip>
ClassImp(HParticleContFact)
    static HParticleContFact gHParticleContFact;
HParticleContFact::HParticleContFact() {
    
    fName="ParticleContFact";
    fTitle="Factory for parameter containers in libParticle";
    setAllContainers();
    HRuntimeDb::instance()->addContFactory(this);
}
void HParticleContFact::setAllContainers() {
    
    
    HContainer* fillerpar= new HContainer("ParticleCandFillerPar",
					  "parameters for HParticleCandFiller","ParticleCandFillerParProduction");
    HContainer* btpar    = new HContainer("ParticleBtPar",
					  "parameters for HParticleBt","ParticleBtParProduction");
    
    containers->Add(fillerpar);
    containers->Add(btpar);
}
HParSet* HParticleContFact::createContainer(HContainer* c) {
    
    
    
    const Char_t* name=c->GetName();
    if (strcmp(name,"ParticleCandFillerPar")==0)
	return new HParticleCandFillerPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
    if (strcmp(name,"ParticleBtPar")==0)
	return new HParticleBtPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
    return 0;
}