ROOT logo
//*-- AUTHOR : Ilse Koenig
//*-- Created : 17/01/2005
// Modified by M.Golubeva 01.11.2006

//_HADES_CLASS_DESCRIPTION 
/////////////////////////////////////////////////////////////
//
//  HWallContFact
//
//  Factory for the parameter containers in libWall
//
/////////////////////////////////////////////////////////////

#include "hwallcontfact.h"
#include "hruntimedb.h"
#include "hwalllookup.h"
#include "hwalltrb2lookup.h"
#include "hwallcalpar.h"
#include "hwalldigipar.h"
#include "hwallgeompar.h"
#include "hwallrefwinpar.h"
#include "hwalleventplanepar.h"

ClassImp(HWallContFact)

static HWallContFact gHWallContFact;

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

void HWallContFact::setAllContainers(void) {
  // Creates the Container objects with all accepted contexts and adds them to
  // the list of containers for the Wall library.
  containers->Add(
    new HContainer("WallLookup",
                   "Unpacker lookup table for the Forward Wall",
                   "WallLookupProduction"));
  containers->Add(
    new HContainer("WallTrb2Lookup",
                   "Lookup table for the TRB2 unpacker of the Forward Wall",
                   "WallTrb2LookupProduction"));
  containers->Add(
    new HContainer("WallCalPar",
                   "Calibration parameters for Forward Wall",
                   "WallCalProduction"));
  containers->Add(
    new HContainer("WallDigiPar",
                   "Digitization parameters for Forward Wall",
                   "WallDigiProduction"));
  containers->Add(
    new HContainer("WallRefWinPar",
                   "Reference time windows parameters for Forward Wall",
                   "WallOneHitProduction"));
  containers->Add(
    new HContainer("WallEventPlanePar",
                   "EventPlane parameters for Forward Wall",
                   "WallEventPlaneProduction"));
  containers->Add(
    new HContainer("WallGeomPar",
                   "Geometry parameters of the Forward Wall",
                   "GeomProduction"));
}

HParSet* HWallContFact::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,"WallLookup")==0)
    return new HWallLookup(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallTrb2Lookup")==0)
    return new HWallTrb2Lookup(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallCalPar")==0)
    return new HWallCalPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallDigiPar")==0)
    return new HWallDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallRefWinPar")==0)
    return new HWallRefWinPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallEventPlanePar")==0)
    return new HWallEventPlanePar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  if (strcmp(name,"WallGeomPar")==0)
    return new HWallGeomPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  return 0;
}
 hwallcontfact.cc:1
 hwallcontfact.cc:2
 hwallcontfact.cc:3
 hwallcontfact.cc:4
 hwallcontfact.cc:5
 hwallcontfact.cc:6
 hwallcontfact.cc:7
 hwallcontfact.cc:8
 hwallcontfact.cc:9
 hwallcontfact.cc:10
 hwallcontfact.cc:11
 hwallcontfact.cc:12
 hwallcontfact.cc:13
 hwallcontfact.cc:14
 hwallcontfact.cc:15
 hwallcontfact.cc:16
 hwallcontfact.cc:17
 hwallcontfact.cc:18
 hwallcontfact.cc:19
 hwallcontfact.cc:20
 hwallcontfact.cc:21
 hwallcontfact.cc:22
 hwallcontfact.cc:23
 hwallcontfact.cc:24
 hwallcontfact.cc:25
 hwallcontfact.cc:26
 hwallcontfact.cc:27
 hwallcontfact.cc:28
 hwallcontfact.cc:29
 hwallcontfact.cc:30
 hwallcontfact.cc:31
 hwallcontfact.cc:32
 hwallcontfact.cc:33
 hwallcontfact.cc:34
 hwallcontfact.cc:35
 hwallcontfact.cc:36
 hwallcontfact.cc:37
 hwallcontfact.cc:38
 hwallcontfact.cc:39
 hwallcontfact.cc:40
 hwallcontfact.cc:41
 hwallcontfact.cc:42
 hwallcontfact.cc:43
 hwallcontfact.cc:44
 hwallcontfact.cc:45
 hwallcontfact.cc:46
 hwallcontfact.cc:47
 hwallcontfact.cc:48
 hwallcontfact.cc:49
 hwallcontfact.cc:50
 hwallcontfact.cc:51
 hwallcontfact.cc:52
 hwallcontfact.cc:53
 hwallcontfact.cc:54
 hwallcontfact.cc:55
 hwallcontfact.cc:56
 hwallcontfact.cc:57
 hwallcontfact.cc:58
 hwallcontfact.cc:59
 hwallcontfact.cc:60
 hwallcontfact.cc:61
 hwallcontfact.cc:62
 hwallcontfact.cc:63
 hwallcontfact.cc:64
 hwallcontfact.cc:65
 hwallcontfact.cc:66
 hwallcontfact.cc:67
 hwallcontfact.cc:68
 hwallcontfact.cc:69
 hwallcontfact.cc:70
 hwallcontfact.cc:71
 hwallcontfact.cc:72
 hwallcontfact.cc:73
 hwallcontfact.cc:74
 hwallcontfact.cc:75
 hwallcontfact.cc:76
 hwallcontfact.cc:77
 hwallcontfact.cc:78
 hwallcontfact.cc:79
 hwallcontfact.cc:80
 hwallcontfact.cc:81
 hwallcontfact.cc:82
 hwallcontfact.cc:83
 hwallcontfact.cc:84
 hwallcontfact.cc:85
 hwallcontfact.cc:86
 hwallcontfact.cc:87
 hwallcontfact.cc:88
 hwallcontfact.cc:89