MpdBbcContFact.cxx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /////////////////////////////////////////////////////////////
  2. //
  3. // MpdBbcContFact
  4. //
  5. // Factory for the parameter containers in libBbc
  6. //
  7. /////////////////////////////////////////////////////////////
  8. using namespace std;
  9. #include "MpdBbcContFact.h"
  10. #include "FairRuntimeDb.h"
  11. #include "MpdBbcGeoPar.h"
  12. #include <iostream>
  13. #include <iomanip>
  14. ClassImp(MpdBbcContFact)
  15. static MpdBbcContFact gMpdBbcContFact;
  16. MpdBbcContFact::MpdBbcContFact() {
  17. // Constructor (called when the library is loaded)
  18. fName="MpdBbcContFact";
  19. fTitle="Factory for parameter containers in libBbc";
  20. setAllContainers();
  21. FairRuntimeDb::instance()->addContFactory(this);
  22. }
  23. void MpdBbcContFact::setAllContainers() {
  24. /** Creates the Container objects with all accepted contexts and adds them to
  25. * the list of containers for the Tof library.*/
  26. FairContainer* p= new FairContainer("MpdBbcGeoPar",
  27. "Bbc Geometry Parameters",
  28. "TestDefaultContext");
  29. p->addContext("TestNonDefaultContext");
  30. containers->Add(p);
  31. }
  32. FairParSet* MpdBbcContFact::createContainer(FairContainer* c) {
  33. /** Calls the constructor of the corresponding parameter container.
  34. * For an actual context, which is not an empty string and not the default context
  35. * of this container, the name is concatinated with the context. */
  36. const char* name=c->GetName();
  37. cout << " -I container name " << name << endl;
  38. FairParSet* p=0;
  39. if (strcmp(name,"MpdBbcGeoPar")==0) {
  40. p=new MpdBbcGeoPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
  41. }
  42. return p;
  43. }