ROOT logo

//_HADES_CLASS_DESCRIPTION
/////////////////////////////////////////////////////////////
//
//  HParticleContFact
//
//  Factory for the parameter containers in libParticle
//
/////////////////////////////////////////////////////////////
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() {
    // Constructor (called when the library is loaded)
    fName="ParticleContFact";
    fTitle="Factory for parameter containers in libParticle";
    setAllContainers();
    HRuntimeDb::instance()->addContFactory(this);
}

void HParticleContFact::setAllContainers() {
    // Creates the Container objects with all accepted contexts and adds them to
    // the list of containers for the Particle library.
    HContainer* fillerpar= new HContainer("ParticleCandFillerPar",
					  "parameters for HParticleCandFiller","ParticleCandFillerParProduction");
    HContainer* btpar    = new HContainer("ParticleBtPar",
					  "parameters for HParticleBt","ParticleBtParProduction");
    //fillerpar->addContext("");
    containers->Add(fillerpar);
    containers->Add(btpar);
}

HParSet* HParticleContFact::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,"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;
}
 hparticlecontfact.cc:1
 hparticlecontfact.cc:2
 hparticlecontfact.cc:3
 hparticlecontfact.cc:4
 hparticlecontfact.cc:5
 hparticlecontfact.cc:6
 hparticlecontfact.cc:7
 hparticlecontfact.cc:8
 hparticlecontfact.cc:9
 hparticlecontfact.cc:10
 hparticlecontfact.cc:11
 hparticlecontfact.cc:12
 hparticlecontfact.cc:13
 hparticlecontfact.cc:14
 hparticlecontfact.cc:15
 hparticlecontfact.cc:16
 hparticlecontfact.cc:17
 hparticlecontfact.cc:18
 hparticlecontfact.cc:19
 hparticlecontfact.cc:20
 hparticlecontfact.cc:21
 hparticlecontfact.cc:22
 hparticlecontfact.cc:23
 hparticlecontfact.cc:24
 hparticlecontfact.cc:25
 hparticlecontfact.cc:26
 hparticlecontfact.cc:27
 hparticlecontfact.cc:28
 hparticlecontfact.cc:29
 hparticlecontfact.cc:30
 hparticlecontfact.cc:31
 hparticlecontfact.cc:32
 hparticlecontfact.cc:33
 hparticlecontfact.cc:34
 hparticlecontfact.cc:35
 hparticlecontfact.cc:36
 hparticlecontfact.cc:37
 hparticlecontfact.cc:38
 hparticlecontfact.cc:39
 hparticlecontfact.cc:40
 hparticlecontfact.cc:41
 hparticlecontfact.cc:42
 hparticlecontfact.cc:43
 hparticlecontfact.cc:44
 hparticlecontfact.cc:45
 hparticlecontfact.cc:46
 hparticlecontfact.cc:47
 hparticlecontfact.cc:48
 hparticlecontfact.cc:49
 hparticlecontfact.cc:50
 hparticlecontfact.cc:51
 hparticlecontfact.cc:52
 hparticlecontfact.cc:53
 hparticlecontfact.cc:54