ROOT logo
//_HADES_CLASS_DESCRIPTION
/////////////////////////////////////////////////////////////
//
//  HPionTrackerContFact
//
//  Factory for the parameter containers in libPionTracker
//
/////////////////////////////////////////////////////////////

#include "hpiontrackercontfact.h"
#include "hruntimedb.h"
#include "hpiontrackertrb3lookup.h"
#include "hpiontrackercalpar.h"
#include "hpiontrackerhitfpar.h"
#include "hpiontrackertrackfpar.h"
#include "hpiontrackerbeampar.h"
#include "hpiontrackercalrunpar.h"
#include "hpiontrackermomrunpar.h"
#include "hpiontrackermompar.h"
#include "hpiontrackergeompar.h"

ClassImp(HPionTrackerContFact)

static HPionTrackerContFact gHPionTrackerContFact;

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

void HPionTrackerContFact::setAllContainers() {
  // Creates the Container objects with all accepted contexts and adds them to
  // the list of containers for the PionTracker library.
  containers->Add(
    new HContainer("PionTrackerTrb3Lookup",
                   "Lookup table for the TRB3 unpacker of the PionTracker",
                   "PionTrackerTrb3LookupProduction"));
  containers->Add(
    new HContainer("PionTrackerCalPar",
                   "Calibration parameters of the PionTracker",
                   "PionTrackerCalParProduction"));
  containers->Add(
    new HContainer("PionTrackerHitFPar",
                   "Hit finder parameters of the PionTracker",
                   "PionTrackerHitFParProduction"));
  containers->Add(
    new HContainer("PionTrackerTrackFPar",
                   "Track finder parameters of the PionTracker",
                   "PionTrackerTrackFParProduction"));
  containers->Add(
    new HContainer("PionTrackerBeamPar",
                   "Beam parameters of the PionTracker",
                   "PionTrackerBeamParProduction"));
  containers->Add(
    new HContainer("PionTrackerGeomPar",
                   "Geometry parameters of the PionTracker",
                   "GeomProduction"));
  containers->Add(
    new HContainer("PionTrackerCalRunPar",
                   "Run by Run cal parameters of the PionTracker",
                   "PionTrackerCalRunParProduction"));
  containers->Add(
    new HContainer("PionTrackerMomPar",
                   "Mom calibration parameters of the PionTracker",
                   "PionTrackerMomParProduction"));

  containers->Add(
    new HContainer("PionTrackerMomRunPar",
                   "Run by Run mom parameters of the PionTracker",
                   "PionTrackerMomRunParProduction"));
}

HParSet* HPionTrackerContFact::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 (0 == strncmp(name, "PionTrackerTrb3Lookup", strlen("PionTrackerTrb3Lookup")))
      return new HPionTrackerTrb3Lookup(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerCalPar", strlen("PionTrackerCalPar")))
      return new HPionTrackerCalPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerHitFPar", strlen("PionTrackerHitFPar")))
      return new HPionTrackerHitFPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerTrackFPar", strlen("PionTrackerTrackFPar")))
      return new HPionTrackerTrackFPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerBeamPar", strlen("PionTrackerBeamPar")))
      return new HPionTrackerBeamPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerCalRunPar", strlen("PionTrackerCalRunPar")))
      return new HPionTrackerCalRunPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerMomRunPar", strlen("PionTrackerMomRunPar")))
      return new HPionTrackerMomRunPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerMomPar", strlen("PionTrackerMomPar")))
      return new HPionTrackerMomPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   if (0 == strncmp(name, "PionTrackerGeomPar", strlen("PionTrackerGeomPar")))
      return new HPionTrackerGeomPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
   return 0;
}
 hpiontrackercontfact.cc:1
 hpiontrackercontfact.cc:2
 hpiontrackercontfact.cc:3
 hpiontrackercontfact.cc:4
 hpiontrackercontfact.cc:5
 hpiontrackercontfact.cc:6
 hpiontrackercontfact.cc:7
 hpiontrackercontfact.cc:8
 hpiontrackercontfact.cc:9
 hpiontrackercontfact.cc:10
 hpiontrackercontfact.cc:11
 hpiontrackercontfact.cc:12
 hpiontrackercontfact.cc:13
 hpiontrackercontfact.cc:14
 hpiontrackercontfact.cc:15
 hpiontrackercontfact.cc:16
 hpiontrackercontfact.cc:17
 hpiontrackercontfact.cc:18
 hpiontrackercontfact.cc:19
 hpiontrackercontfact.cc:20
 hpiontrackercontfact.cc:21
 hpiontrackercontfact.cc:22
 hpiontrackercontfact.cc:23
 hpiontrackercontfact.cc:24
 hpiontrackercontfact.cc:25
 hpiontrackercontfact.cc:26
 hpiontrackercontfact.cc:27
 hpiontrackercontfact.cc:28
 hpiontrackercontfact.cc:29
 hpiontrackercontfact.cc:30
 hpiontrackercontfact.cc:31
 hpiontrackercontfact.cc:32
 hpiontrackercontfact.cc:33
 hpiontrackercontfact.cc:34
 hpiontrackercontfact.cc:35
 hpiontrackercontfact.cc:36
 hpiontrackercontfact.cc:37
 hpiontrackercontfact.cc:38
 hpiontrackercontfact.cc:39
 hpiontrackercontfact.cc:40
 hpiontrackercontfact.cc:41
 hpiontrackercontfact.cc:42
 hpiontrackercontfact.cc:43
 hpiontrackercontfact.cc:44
 hpiontrackercontfact.cc:45
 hpiontrackercontfact.cc:46
 hpiontrackercontfact.cc:47
 hpiontrackercontfact.cc:48
 hpiontrackercontfact.cc:49
 hpiontrackercontfact.cc:50
 hpiontrackercontfact.cc:51
 hpiontrackercontfact.cc:52
 hpiontrackercontfact.cc:53
 hpiontrackercontfact.cc:54
 hpiontrackercontfact.cc:55
 hpiontrackercontfact.cc:56
 hpiontrackercontfact.cc:57
 hpiontrackercontfact.cc:58
 hpiontrackercontfact.cc:59
 hpiontrackercontfact.cc:60
 hpiontrackercontfact.cc:61
 hpiontrackercontfact.cc:62
 hpiontrackercontfact.cc:63
 hpiontrackercontfact.cc:64
 hpiontrackercontfact.cc:65
 hpiontrackercontfact.cc:66
 hpiontrackercontfact.cc:67
 hpiontrackercontfact.cc:68
 hpiontrackercontfact.cc:69
 hpiontrackercontfact.cc:70
 hpiontrackercontfact.cc:71
 hpiontrackercontfact.cc:72
 hpiontrackercontfact.cc:73
 hpiontrackercontfact.cc:74
 hpiontrackercontfact.cc:75
 hpiontrackercontfact.cc:76
 hpiontrackercontfact.cc:77
 hpiontrackercontfact.cc:78
 hpiontrackercontfact.cc:79
 hpiontrackercontfact.cc:80
 hpiontrackercontfact.cc:81
 hpiontrackercontfact.cc:82
 hpiontrackercontfact.cc:83
 hpiontrackercontfact.cc:84
 hpiontrackercontfact.cc:85
 hpiontrackercontfact.cc:86
 hpiontrackercontfact.cc:87
 hpiontrackercontfact.cc:88
 hpiontrackercontfact.cc:89
 hpiontrackercontfact.cc:90
 hpiontrackercontfact.cc:91
 hpiontrackercontfact.cc:92
 hpiontrackercontfact.cc:93
 hpiontrackercontfact.cc:94
 hpiontrackercontfact.cc:95
 hpiontrackercontfact.cc:96
 hpiontrackercontfact.cc:97
 hpiontrackercontfact.cc:98
 hpiontrackercontfact.cc:99
 hpiontrackercontfact.cc:100