From 1cd63845104cc2192d9e86b5a8e3211e1a412216 Mon Sep 17 00:00:00 2001 From: Florian Uhlig <f.uhlig@gsi.de> Date: Mon, 25 Jan 2021 14:12:44 +0100 Subject: [PATCH] Move beamtime related parameter classes into detector core libraries First step to include code currently stored for historical reasons in the fles directory, in the core or reco libraries of the respective detectors. Adapt build system accordingly. --- MQ/unpacker/CMakeLists.txt | 7 +- core/detectors/much/CMakeLists.txt | 15 ++-- .../detectors/much}/CbmMcbm2018MuchPar.cxx | 0 .../detectors/much}/CbmMcbm2018MuchPar.h | 0 core/detectors/much/CbmMuchBaseLinkDef.h | 1 + core/detectors/much/CbmMuchContFact.cxx | 17 +++-- core/detectors/psd/CMakeLists.txt | 6 +- .../detectors/psd}/CbmMcbm2018PsdPar.cxx | 0 .../detectors/psd}/CbmMcbm2018PsdPar.h | 0 core/detectors/psd/CbmPsdBaseLinkDef.h | 2 + core/detectors/psd/CbmPsdContFact.cxx | 58 ++++++++++++++++ core/detectors/psd/CbmPsdContFact.h | 34 +++++++++ core/detectors/rich/CMakeLists.txt | 2 + .../detectors/rich}/CbmMcbm2018RichPar.cxx | 0 .../detectors/rich}/CbmMcbm2018RichPar.h | 0 core/detectors/rich/CbmRichBaseLinkDef.h | 2 + core/detectors/rich/CbmRichContFact.cxx | 58 ++++++++++++++++ core/detectors/rich/CbmRichContFact.h | 34 +++++++++ core/detectors/sts/CMakeLists.txt | 1 + .../detectors/sts}/CbmMcbm2018StsPar.cxx | 0 .../detectors/sts}/CbmMcbm2018StsPar.h | 2 +- core/detectors/sts/CbmStsBaseLinkDef.h | 1 + core/detectors/sts/CbmStsContFact.cxx | 15 +++- core/detectors/tof/CMakeLists.txt | 10 +-- .../detectors/tof}/CbmMcbm2018TofPar.cxx | 0 .../detectors/tof}/CbmMcbm2018TofPar.h | 0 core/detectors/tof/CbmTofBaseLinkDef.h | 1 + core/detectors/tof/CbmTofContFact.cxx | 17 +++-- core/detectors/tof/CbmTofContFact.h | 9 +-- core/detectors/trd/CMakeLists.txt | 55 +++++++-------- .../trd}/CbmMcbm2020TrdTshiftPar.cxx | 2 +- .../detectors/trd}/CbmMcbm2020TrdTshiftPar.h | 0 core/detectors/trd/CbmTrdBaseLinkDef.h | 1 + core/detectors/trd/CbmTrdContFact.cxx | 23 +++++-- fles/mcbm2018/CMakeLists.txt | 16 ++--- fles/mcbm2018/CbmFlibMcbm2018LinkDef.h | 6 -- .../parameter/CbmMcbm2018ContFact.cxx | 69 ------------------- 37 files changed, 319 insertions(+), 145 deletions(-) rename {fles/mcbm2018/parameter => core/detectors/much}/CbmMcbm2018MuchPar.cxx (100%) rename {fles/mcbm2018/parameter => core/detectors/much}/CbmMcbm2018MuchPar.h (100%) rename {fles/mcbm2018/parameter => core/detectors/psd}/CbmMcbm2018PsdPar.cxx (100%) rename {fles/mcbm2018/parameter => core/detectors/psd}/CbmMcbm2018PsdPar.h (100%) create mode 100644 core/detectors/psd/CbmPsdContFact.cxx create mode 100644 core/detectors/psd/CbmPsdContFact.h rename {fles/mcbm2018/parameter => core/detectors/rich}/CbmMcbm2018RichPar.cxx (100%) rename {fles/mcbm2018/parameter => core/detectors/rich}/CbmMcbm2018RichPar.h (100%) create mode 100644 core/detectors/rich/CbmRichContFact.cxx create mode 100644 core/detectors/rich/CbmRichContFact.h rename {fles/mcbm2018/parameter => core/detectors/sts}/CbmMcbm2018StsPar.cxx (100%) rename {fles/mcbm2018/parameter => core/detectors/sts}/CbmMcbm2018StsPar.h (99%) rename {fles/mcbm2018/parameter => core/detectors/tof}/CbmMcbm2018TofPar.cxx (100%) rename {fles/mcbm2018/parameter => core/detectors/tof}/CbmMcbm2018TofPar.h (100%) rename {fles/mcbm2018/parameter => core/detectors/trd}/CbmMcbm2020TrdTshiftPar.cxx (99%) rename {fles/mcbm2018/parameter => core/detectors/trd}/CbmMcbm2020TrdTshiftPar.h (100%) diff --git a/MQ/unpacker/CMakeLists.txt b/MQ/unpacker/CMakeLists.txt index 4d2da7356a..7091e5936f 100644 --- a/MQ/unpacker/CMakeLists.txt +++ b/MQ/unpacker/CMakeLists.txt @@ -3,14 +3,18 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerUnpackerParserver.sh.in set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CBMROOT_SOURCE_DIR}/MQ/base - ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter +# ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ + ${CBMDATA_DIR} ${CBMDATA_DIR}/raw ${CBMDATA_DIR}/tof + ${CBMBASE_DIR} + + ${CBMDETECTORBASE_DIR}/tof ) Set(SYSTEM_INCLUDE_DIRECTORIES @@ -70,6 +74,7 @@ set(DEPENDENCIES ${BOOST_LIBS} fles_ipc CbmFlibMcbm2018 + CbmTofBase CbmBase # CbmBeamtimeBase CbmData diff --git a/core/detectors/much/CMakeLists.txt b/core/detectors/much/CMakeLists.txt index 6fbbc1613d..05c2d1a797 100644 --- a/core/detectors/much/CMakeLists.txt +++ b/core/detectors/much/CMakeLists.txt @@ -6,14 +6,14 @@ Set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} - ${CBMDATA_DIR} - ${CBMDATA_DIR}/much + ${CBMDATA_DIR} + ${CBMDATA_DIR}/much ) Include_Directories( ${INCLUDE_DIRECTORIES}) Set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} + ${BASE_INCLUDE_DIRECTORIES} ) Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) @@ -23,12 +23,13 @@ ${ROOT_LIBRARY_DIR} ${FAIRROOT_LIBRARY_DIR} ${Boost_LIBRARY_DIRS} ) - + link_directories( ${LINK_DIRECTORIES}) set(SRCS -CbmGeoMuchPar.cxx -CbmMuchContFact.cxx +CbmGeoMuchPar.cxx +CbmMcbm2018MuchPar.cxx +CbmMuchContFact.cxx CbmMuchGeoScheme.cxx CbmMuchLayer.cxx CbmMuchLayerSide.cxx @@ -53,7 +54,7 @@ CbmMuchSegmentSector.cxx set(LINKDEF CbmMuchBaseLinkDef.h) Set(LIBRARY_NAME CbmMuchBase) Set(DEPENDENCIES - CbmData Base + CbmData Base ) GENERATE_LIBRARY() diff --git a/fles/mcbm2018/parameter/CbmMcbm2018MuchPar.cxx b/core/detectors/much/CbmMcbm2018MuchPar.cxx similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018MuchPar.cxx rename to core/detectors/much/CbmMcbm2018MuchPar.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018MuchPar.h b/core/detectors/much/CbmMcbm2018MuchPar.h similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018MuchPar.h rename to core/detectors/much/CbmMcbm2018MuchPar.h diff --git a/core/detectors/much/CbmMuchBaseLinkDef.h b/core/detectors/much/CbmMuchBaseLinkDef.h index e69348fc73..9c85a16463 100644 --- a/core/detectors/much/CbmMuchBaseLinkDef.h +++ b/core/detectors/much/CbmMuchBaseLinkDef.h @@ -6,6 +6,7 @@ #pragma link C++ class CbmGeoMuchPar; +#pragma link C++ class CbmMcbm2018MuchPar + ; #pragma link C++ class CbmMuchContFact; #pragma link C++ class CbmMuchGeoScheme + ; #pragma link C++ class CbmMuchLayer + ; diff --git a/core/detectors/much/CbmMuchContFact.cxx b/core/detectors/much/CbmMuchContFact.cxx index 9535960ffd..22c2c2e072 100644 --- a/core/detectors/much/CbmMuchContFact.cxx +++ b/core/detectors/much/CbmMuchContFact.cxx @@ -3,13 +3,14 @@ * @author M. Ryzhinskiy <m.ryzhinskiy@gsi.de> * @version 0.0 * @since 15.03.07 - * + * * Factory for the parameter containers for MUon CHambers detector * */ #include "CbmMuchContFact.h" -#include "CbmGeoMuchPar.h" // for CbmGeoMuchPar +#include "CbmGeoMuchPar.h" // for CbmGeoMuchPar +#include "CbmMcbm2018MuchPar.h" // for CbmMcbm2018MuchPar #include <FairContFact.h> // for FairContainer #include <FairLogger.h> // for LOG @@ -39,13 +40,17 @@ void CbmMuchContFact::setAllContainers() { // "Much Digitization Parameters", // "TestDefaultContext"); // p1->addContext("TestNonDefaultContext"); + // containers->Add(p1); FairContainer* p2 = new FairContainer( "CbmGeoMuchPar", "Much Geometry Parameters", "TestDefaultContext"); p2->addContext("TestNonDefaultContext"); - - // containers->Add(p1); containers->Add(p2); + + FairContainer* beamPars = new FairContainer( + "CbmMcbm2018MuchPar", "Much at MCBM 2018 Unpack Parameters", "Default"); + beamPars->addContext("Default"); + containers->Add(beamPars); } FairParSet* CbmMuchContFact::createContainer(FairContainer* c) { @@ -58,7 +63,11 @@ FairParSet* CbmMuchContFact::createContainer(FairContainer* c) { if (strcmp(name, "CbmGeoMuchPar") == 0) { p = new CbmGeoMuchPar( c->getConcatName().Data(), c->GetTitle(), c->getContext()); + } else if (strcmp(name, "CbmMcbm2018MuchPar") == 0) { + p = new CbmMcbm2018MuchPar( + c->getConcatName().Data(), c->GetTitle(), c->getContext()); } + return p; } diff --git a/core/detectors/psd/CMakeLists.txt b/core/detectors/psd/CMakeLists.txt index eab3e6de95..4f13df901c 100644 --- a/core/detectors/psd/CMakeLists.txt +++ b/core/detectors/psd/CMakeLists.txt @@ -5,7 +5,7 @@ set(INCLUDE_DIRECTORIES include_directories(${INCLUDE_DIRECTORIES}) set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} + ${BASE_INCLUDE_DIRECTORIES} ) include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) @@ -20,10 +20,12 @@ link_directories(${LINK_DIRECTORIES}) set(SRCS PronyFitter.cxx + CbmPsdContFact.cxx + CbmMcbm2018PsdPar.cxx ) set(LINKDEF CbmPsdBaseLinkDef.h) Set(LIBRARY_NAME CbmPsdBase) -Set(DEPENDENCIES) +Set(DEPENDENCIES Base) GENERATE_LIBRARY() diff --git a/fles/mcbm2018/parameter/CbmMcbm2018PsdPar.cxx b/core/detectors/psd/CbmMcbm2018PsdPar.cxx similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018PsdPar.cxx rename to core/detectors/psd/CbmMcbm2018PsdPar.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018PsdPar.h b/core/detectors/psd/CbmMcbm2018PsdPar.h similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018PsdPar.h rename to core/detectors/psd/CbmMcbm2018PsdPar.h diff --git a/core/detectors/psd/CbmPsdBaseLinkDef.h b/core/detectors/psd/CbmPsdBaseLinkDef.h index c8c79f85ae..f422f17148 100644 --- a/core/detectors/psd/CbmPsdBaseLinkDef.h +++ b/core/detectors/psd/CbmPsdBaseLinkDef.h @@ -7,5 +7,7 @@ #pragma link off all functions; #pragma link C++ class PsdSignalFitting::PronyFitter; +#pragma link C++ class CbmPsdContFact + ; +#pragma link C++ class CbmMcbm2018PsdPar + ; #endif diff --git a/core/detectors/psd/CbmPsdContFact.cxx b/core/detectors/psd/CbmPsdContFact.cxx new file mode 100644 index 0000000000..aba06d4e90 --- /dev/null +++ b/core/detectors/psd/CbmPsdContFact.cxx @@ -0,0 +1,58 @@ +/** CbmPsdContFact.h + * + * @author F. Uhlig <f.uhlig@gsi.de> + * @version 1.0 + * @since 25.01.21 + * + * Factory for the parameter containers of the RICH detector + * + */ +#include "CbmPsdContFact.h" + +#include "CbmMcbm2018PsdPar.h" // for CbmMcbm2018PsdPar + +#include <FairContFact.h> // for FairContainer +#include <FairLogger.h> // for LOG +#include <FairRuntimeDb.h> // for FairRuntimeDb + +#include <TList.h> // for TList +#include <TString.h> // for TString + +#include <string.h> // for strcmp + +ClassImp(CbmPsdContFact) + + static CbmPsdContFact gCbmPsdContFact; + +CbmPsdContFact::CbmPsdContFact() { + // Constructor (called when the library is loaded) + fName = "CbmPsdContFact"; + fTitle = "Factory for parameter containers in libPsdBase"; + setAllContainers(); + FairRuntimeDb::instance()->addContFactory(this); +} + +void CbmPsdContFact::setAllContainers() { + /** Creates the Container objects with all accepted contexts and adds them to + * the list of containers for the PsdBase library.*/ + + FairContainer* beamPars = new FairContainer( + "CbmMcbm2018PsdPar", "Psd at MCBM 2018 Unpack Parameters", "Default"); + beamPars->addContext("Default"); + containers->Add(beamPars); +} + +FairParSet* CbmPsdContFact::createContainer(FairContainer* 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* name = c->GetName(); + LOG(info) << " -I container name " << name; + FairParSet* p = 0; + if (strcmp(name, "CbmMcbm2018PsdPar") == 0) { + p = new CbmMcbm2018PsdPar( + c->getConcatName().Data(), c->GetTitle(), c->getContext()); + } + + return p; +} diff --git a/core/detectors/psd/CbmPsdContFact.h b/core/detectors/psd/CbmPsdContFact.h new file mode 100644 index 0000000000..b37622e0f0 --- /dev/null +++ b/core/detectors/psd/CbmPsdContFact.h @@ -0,0 +1,34 @@ +/** CbmPsdContFact.h + * + * @author F. Uhlig <f.uhlig@gsi.de> + * @version 1.0 + * @since 25.01.21 + * + * Factory for the parameter containers of the PSD detector + * + */ + +#ifndef CBMPSDCONTFACT_H +#define CBMPSDCONTFACT_H + +#include <Rtypes.h> // for THashConsistencyHolder, ClassDef + +#include <FairContFact.h> // for FairContFact + +class FairParIo; +class FairParSet; +class FairContainer; + +class CbmPsdContFact : public FairContFact { +public: + CbmPsdContFact(); + ~CbmPsdContFact() {} + FairParSet* createContainer(FairContainer*); + +private: + void setAllContainers(); + + ClassDef(CbmPsdContFact, 0) // Factory for all Psd parameter containers +}; + +#endif /* !CBMPSDCONTFACT_H */ diff --git a/core/detectors/rich/CMakeLists.txt b/core/detectors/rich/CMakeLists.txt index b4de7be51a..124f1fe996 100644 --- a/core/detectors/rich/CMakeLists.txt +++ b/core/detectors/rich/CMakeLists.txt @@ -28,6 +28,8 @@ link_directories(${LINK_DIRECTORIES}) set(SRCS CbmRichPmt.cxx CbmRichEventDisplay.cxx + CbmRichContFact.cxx + CbmMcbm2018RichPar.cxx ) set(NO_DICT_SRCS diff --git a/fles/mcbm2018/parameter/CbmMcbm2018RichPar.cxx b/core/detectors/rich/CbmMcbm2018RichPar.cxx similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018RichPar.cxx rename to core/detectors/rich/CbmMcbm2018RichPar.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018RichPar.h b/core/detectors/rich/CbmMcbm2018RichPar.h similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018RichPar.h rename to core/detectors/rich/CbmMcbm2018RichPar.h diff --git a/core/detectors/rich/CbmRichBaseLinkDef.h b/core/detectors/rich/CbmRichBaseLinkDef.h index 06efc46cf0..93a371a3e1 100644 --- a/core/detectors/rich/CbmRichBaseLinkDef.h +++ b/core/detectors/rich/CbmRichBaseLinkDef.h @@ -6,5 +6,7 @@ #pragma link C++ class CbmRichPmt + ; #pragma link C++ class CbmRichEventDisplay; +#pragma link C++ class CbmRichContFact + ; +#pragma link C++ class CbmMcbm2018RichPar + ; #endif diff --git a/core/detectors/rich/CbmRichContFact.cxx b/core/detectors/rich/CbmRichContFact.cxx new file mode 100644 index 0000000000..6c48c0291d --- /dev/null +++ b/core/detectors/rich/CbmRichContFact.cxx @@ -0,0 +1,58 @@ +/** CbmRichContFact.h + * + * @author F. Uhlig <f.uhlig@gsi.de> + * @version 1.0 + * @since 25.01.21 + * + * Factory for the parameter containers of the RICH detector + * + */ +#include "CbmRichContFact.h" + +#include "CbmMcbm2018RichPar.h" // for CbmMcbm2018RichPar + +#include <FairContFact.h> // for FairContainer +#include <FairLogger.h> // for LOG +#include <FairRuntimeDb.h> // for FairRuntimeDb + +#include <TList.h> // for TList +#include <TString.h> // for TString + +#include <string.h> // for strcmp + +ClassImp(CbmRichContFact) + + static CbmRichContFact gCbmRichContFact; + +CbmRichContFact::CbmRichContFact() { + // Constructor (called when the library is loaded) + fName = "CbmRichContFact"; + fTitle = "Factory for parameter containers in libRichBase"; + setAllContainers(); + FairRuntimeDb::instance()->addContFactory(this); +} + +void CbmRichContFact::setAllContainers() { + /** Creates the Container objects with all accepted contexts and adds them to + * the list of containers for the RichBase library.*/ + + FairContainer* beamPars = new FairContainer( + "CbmMcbm2018RichPar", "Rich at MCBM 2018 Unpack Parameters", "Default"); + beamPars->addContext("Default"); + containers->Add(beamPars); +} + +FairParSet* CbmRichContFact::createContainer(FairContainer* 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* name = c->GetName(); + LOG(info) << " -I container name " << name; + FairParSet* p = 0; + if (strcmp(name, "CbmMcbm2018RichPar") == 0) { + p = new CbmMcbm2018RichPar( + c->getConcatName().Data(), c->GetTitle(), c->getContext()); + } + + return p; +} diff --git a/core/detectors/rich/CbmRichContFact.h b/core/detectors/rich/CbmRichContFact.h new file mode 100644 index 0000000000..bdcdc2d32a --- /dev/null +++ b/core/detectors/rich/CbmRichContFact.h @@ -0,0 +1,34 @@ +/** CbmRichContFact.h + * + * @author F. Uhlig <f.uhlig@gsi.de> + * @version 1.0 + * @since 25.01.21 + * + * Factory for the parameter containers of the RICH detector + * + */ + +#ifndef CBMRICHCONTFACT_H +#define CBMRICHCONTFACT_H + +#include <Rtypes.h> // for THashConsistencyHolder, ClassDef + +#include <FairContFact.h> // for FairContFact + +class FairParIo; +class FairParSet; +class FairContainer; + +class CbmRichContFact : public FairContFact { + +public: + CbmRichContFact(); + ~CbmRichContFact() {} + FairParSet* createContainer(FairContainer*); + +private: + void setAllContainers(); + ClassDef(CbmRichContFact, 0) // Factory for all Rich parameter containers +}; + +#endif /* !CBMRICHCONTFACT_H */ diff --git a/core/detectors/sts/CMakeLists.txt b/core/detectors/sts/CMakeLists.txt index acdea23319..9e70d4615d 100644 --- a/core/detectors/sts/CMakeLists.txt +++ b/core/detectors/sts/CMakeLists.txt @@ -20,6 +20,7 @@ CbmStsParSetModule.cxx CbmStsParSetSensor.cxx CbmStsParSetSensorCond.cxx CbmStsParSim.cxx +CbmMcbm2018StsPar.cxx CbmStsPhysics.cxx CbmStsSensor.cxx CbmStsSetup.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.cxx b/core/detectors/sts/CbmMcbm2018StsPar.cxx similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018StsPar.cxx rename to core/detectors/sts/CbmMcbm2018StsPar.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.h b/core/detectors/sts/CbmMcbm2018StsPar.h similarity index 99% rename from fles/mcbm2018/parameter/CbmMcbm2018StsPar.h rename to core/detectors/sts/CbmMcbm2018StsPar.h index 2378ec2eb9..e60cb7f783 100644 --- a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.h +++ b/core/detectors/sts/CbmMcbm2018StsPar.h @@ -116,7 +116,7 @@ private: 0x0014, 0x0009, 0x000D, 0x000F, 0x0008, 0x000A, 0x0002, 0x0004, 0x0006, 0x000B, 0x0005, 0x0000, 0x0003, 0x0007, 0x0001, }; //! Map from eLink index to ASIC index within CROB ( 0 to kuNbFebsPerCrob * kuNbAsicPerFeb ) - // static constexpr UInt_t kuCrobMapElinkFebB[ kuNbElinksPerCrob ] = { + // static constexpr UInt_t kuCrobMapElinkFebB[ kuNbElinksPerCrob ] = { const UInt_t kuCrobMapElinkFebB [kuNbElinksPerCrob] = diff --git a/core/detectors/sts/CbmStsBaseLinkDef.h b/core/detectors/sts/CbmStsBaseLinkDef.h index be239d25b6..5fd4a03d16 100644 --- a/core/detectors/sts/CbmStsBaseLinkDef.h +++ b/core/detectors/sts/CbmStsBaseLinkDef.h @@ -14,6 +14,7 @@ #pragma link C++ class CbmStsParSetModule + ; #pragma link C++ class CbmStsParSetSensor + ; #pragma link C++ class CbmStsParSetSensorCond + ; +#pragma link C++ class CbmMcbm2018StsPar + ; #pragma link C++ class CbmStsParSim + ; #pragma link C++ class CbmStsPhysics + ; #pragma link C++ class CbmStsSensor + ; diff --git a/core/detectors/sts/CbmStsContFact.cxx b/core/detectors/sts/CbmStsContFact.cxx index 18e57053b8..2ebd5688e2 100644 --- a/core/detectors/sts/CbmStsContFact.cxx +++ b/core/detectors/sts/CbmStsContFact.cxx @@ -4,6 +4,7 @@ **/ #include "CbmStsContFact.h" +#include "CbmMcbm2018StsPar.h" // for CbmMcbm2018StsPar #include "CbmStsParSetModule.h" // for CbmStsParSetModule #include "CbmStsParSetSensor.h" // for CbmStsParSetSensor #include "CbmStsParSetSensorCond.h" // for CbmStsParSetSensorCond @@ -63,7 +64,6 @@ FairParSet* CbmStsContFact::createContainer(FairContainer* container) { LOG(info) << "Done"; } - // --- Sensor conditions else if (strcmp(contName, "CbmStsParSetSensorCond") == 0) { parSet = new CbmStsParSetSensorCond(container->getConcatName().Data(), @@ -71,6 +71,13 @@ FairParSet* CbmStsContFact::createContainer(FairContainer* container) { container->getContext()); } + // --- Beamtime parameters + else if (strcmp(contName, "CbmMcbm2018StsPar") == 0) { + parSet = new CbmMcbm2018StsPar(container->getConcatName().Data(), + container->GetTitle(), + container->getContext()); + } + LOG(info) << GetName() << ": Create container " << contName << " with parameter set " << parSet->GetName(); return parSet; @@ -104,5 +111,11 @@ void CbmStsContFact::setAllContainers() { "CbmStsParSetSensorCond", "STS sensor conditions", "Default"); sensorCond->addContext("Default"); containers->Add(sensorCond); + + // Beamtime parameters + FairContainer* beamPars = new FairContainer( + "CbmMcbm2018StsPar", "STS at MCBM 2018 Unpack Parameters", "Default"); + beamPars->addContext("Default"); + containers->Add(beamPars); } // -------------------------------------------------------------------------- diff --git a/core/detectors/tof/CMakeLists.txt b/core/detectors/tof/CMakeLists.txt index 5cc2617cf5..913ecf876c 100644 --- a/core/detectors/tof/CMakeLists.txt +++ b/core/detectors/tof/CMakeLists.txt @@ -3,12 +3,13 @@ set(INCLUDE_DIRECTORIES ${CBMDATA_DIR} ${CBMDATA_DIR}/tof + ${CBMDATA_DIR}/raw ) include_directories(${INCLUDE_DIRECTORIES}) set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} + ${BASE_INCLUDE_DIRECTORIES} ) include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) @@ -23,10 +24,11 @@ link_directories(${LINK_DIRECTORIES}) set(SRCS CbmTofCell.cxx - CbmTofContFact.cxx + CbmTofContFact.cxx CbmTofCreateDigiPar.cxx - CbmTofDigiBdfPar.cxx - CbmTofDigiPar.cxx + CbmTofDigiBdfPar.cxx + CbmTofDigiPar.cxx + CbmMcbm2018TofPar.cxx CbmTofGeoHandler.cxx TTrbHeader.cxx ) diff --git a/fles/mcbm2018/parameter/CbmMcbm2018TofPar.cxx b/core/detectors/tof/CbmMcbm2018TofPar.cxx similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018TofPar.cxx rename to core/detectors/tof/CbmMcbm2018TofPar.cxx diff --git a/fles/mcbm2018/parameter/CbmMcbm2018TofPar.h b/core/detectors/tof/CbmMcbm2018TofPar.h similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2018TofPar.h rename to core/detectors/tof/CbmMcbm2018TofPar.h diff --git a/core/detectors/tof/CbmTofBaseLinkDef.h b/core/detectors/tof/CbmTofBaseLinkDef.h index 920054d41d..79ce336bd2 100644 --- a/core/detectors/tof/CbmTofBaseLinkDef.h +++ b/core/detectors/tof/CbmTofBaseLinkDef.h @@ -11,6 +11,7 @@ #pragma link C++ class CbmTofCreateDigiPar + ; #pragma link C++ class CbmTofDigiBdfPar + ; #pragma link C++ class CbmTofDigiPar + ; +#pragma link C++ class CbmMcbm2018TofPar + ; #pragma link C++ class CbmTofGeoHandler + ; #pragma link C++ class TTrbHeader + ; diff --git a/core/detectors/tof/CbmTofContFact.cxx b/core/detectors/tof/CbmTofContFact.cxx index 896e762f69..2dd7b1a1af 100644 --- a/core/detectors/tof/CbmTofContFact.cxx +++ b/core/detectors/tof/CbmTofContFact.cxx @@ -10,8 +10,9 @@ ///////////////////////////////////////////////////////////// #include "CbmTofContFact.h" -#include "CbmTofDigiBdfPar.h" // for CbmTofDigiBdfPar -#include "CbmTofDigiPar.h" // for CbmTofDigiPar +#include "CbmMcbm2018TofPar.h" // for CbmMcbm2018TofPar +#include "CbmTofDigiBdfPar.h" // for CbmTofDigiBdfPar +#include "CbmTofDigiPar.h" // for CbmTofDigiPar #include <FairContFact.h> // for FairContainer #include <FairLogger.h> // for LOG @@ -50,6 +51,11 @@ void CbmTofContFact::setAllContainers() { p2->addContext("TestNonDefaultContext"); containers->Add(p2); + + FairContainer* beamPars = new FairContainer( + "CbmMcbm2018TofPar", "TOF at MCBM 2018 Unpack Parameters", "Default"); + beamPars->addContext("Default"); + containers->Add(beamPars); } FairParSet* CbmTofContFact::createContainer(FairContainer* c) { @@ -62,10 +68,13 @@ FairParSet* CbmTofContFact::createContainer(FairContainer* c) { if (strcmp(name, "CbmTofDigiPar") == 0) { p = new CbmTofDigiPar( c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } - if (strcmp(name, "CbmTofDigiBdfPar") == 0) { + } else if (strcmp(name, "CbmTofDigiBdfPar") == 0) { p = new CbmTofDigiBdfPar( c->getConcatName().Data(), c->GetTitle(), c->getContext()); + } else if (strcmp(name, "CbmMcbm2018TofPar") == 0) { + p = new CbmMcbm2018TofPar( + c->getConcatName().Data(), c->GetTitle(), c->getContext()); } + return p; } diff --git a/core/detectors/tof/CbmTofContFact.h b/core/detectors/tof/CbmTofContFact.h index 8cc35a77f9..1d8d08fdbe 100644 --- a/core/detectors/tof/CbmTofContFact.h +++ b/core/detectors/tof/CbmTofContFact.h @@ -9,15 +9,16 @@ class FairParSet; class FairContainer; class CbmTofContFact : public FairContFact { -private: - void setAllContainers(); - CbmTofContFact(const CbmTofContFact&); - CbmTofContFact& operator=(const CbmTofContFact&); public: CbmTofContFact(); ~CbmTofContFact() {} FairParSet* createContainer(FairContainer*); + +private: + void setAllContainers(); + CbmTofContFact(const CbmTofContFact&); + CbmTofContFact& operator=(const CbmTofContFact&); ClassDef(CbmTofContFact, 0) // Factory for all TOF parameter containers }; diff --git a/core/detectors/trd/CMakeLists.txt b/core/detectors/trd/CMakeLists.txt index 5c6a7ffe4b..871ab6f0b2 100644 --- a/core/detectors/trd/CMakeLists.txt +++ b/core/detectors/trd/CMakeLists.txt @@ -5,14 +5,14 @@ Set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CBMBASE_DIR} -${CBMDATA_DIR} -${CBMDATA_DIR}/trd +${CBMDATA_DIR} +${CBMDATA_DIR}/trd ) Include_Directories( ${INCLUDE_DIRECTORIES}) Set(SYSTEM_INCLUDE_DIRECTORIES - ${BASE_INCLUDE_DIRECTORIES} + ${BASE_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIR} ) @@ -23,46 +23,47 @@ ${ROOT_LIBRARY_DIR} ${FAIRROOT_LIBRARY_DIR} ${Boost_LIBRARY_DIRS} ${Vc_LIB_DIR} -) +) link_directories( ${LINK_DIRECTORIES}) set(SRCS -CbmTrdGas.cxx -CbmTrdContFact.cxx -CbmTrdParManager.cxx -CbmTrdModuleAbstract.cxx -CbmTrdParSet.cxx -CbmTrdParSetAsic.cxx -CbmTrdParSetGas.cxx -CbmTrdParSetGain.cxx -CbmTrdParSetGeo.cxx -CbmTrdParSetDigi.cxx -CbmTrdParMod.cxx -CbmTrdParAsic.cxx -CbmTrdParSpadic.cxx -CbmTrdSPADIC.cxx -CbmTrdFASP.cxx -CbmTrdParFasp.cxx -CbmTrdParModDigi.cxx -CbmTrdParModGas.cxx -CbmTrdParModGain.cxx -CbmTrdParModGeo.cxx +CbmTrdGas.cxx +CbmTrdContFact.cxx +CbmTrdParManager.cxx +CbmTrdModuleAbstract.cxx +CbmMcbm2020TrdTshiftPar.cxx +CbmTrdParSet.cxx +CbmTrdParSetAsic.cxx +CbmTrdParSetGas.cxx +CbmTrdParSetGain.cxx +CbmTrdParSetGeo.cxx +CbmTrdParSetDigi.cxx +CbmTrdParMod.cxx +CbmTrdParAsic.cxx +CbmTrdParSpadic.cxx +CbmTrdSPADIC.cxx +CbmTrdFASP.cxx +CbmTrdParFasp.cxx +CbmTrdParModDigi.cxx +CbmTrdParModGas.cxx +CbmTrdParModGain.cxx +CbmTrdParModGeo.cxx #tools CbmTrdGeoHandler.cxx CbmTrdUtils.cxx CbmTrdHardwareSetupR.cxx -CbmTrdRadiator.cxx +CbmTrdRadiator.cxx ) IF (SSE_FOUND) ADD_DEFINITIONS(-DHAVE_SSE) - SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS + SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-msse -O3") Message(STATUS "TRD BASE will be compiled with SSE support") ELSE (SSE_FOUND) Message(STATUS "TRD BASE will be compiled without SSE support") - SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS + SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-O3") ENDIF (SSE_FOUND) diff --git a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx similarity index 99% rename from fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx rename to core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx index 9b0823cb4b..a21212e173 100644 --- a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx +++ b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx @@ -7,7 +7,7 @@ * Modified By: Pascal Raisig * ----- * Purpose: This container is only to be used for Trd mCbm2020 data. It contains the - * corrections for the observed timeshifts within the 2020 data. + * corrections for the observed timeshifts within the 2020 data. * ----- */ diff --git a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.h b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.h similarity index 100% rename from fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.h rename to core/detectors/trd/CbmMcbm2020TrdTshiftPar.h diff --git a/core/detectors/trd/CbmTrdBaseLinkDef.h b/core/detectors/trd/CbmTrdBaseLinkDef.h index 31e51c77aa..6e8fa9a452 100644 --- a/core/detectors/trd/CbmTrdBaseLinkDef.h +++ b/core/detectors/trd/CbmTrdBaseLinkDef.h @@ -8,6 +8,7 @@ #pragma link C++ class CbmTrdGas + ; #pragma link C++ class CbmTrdContFact + ; +#pragma link C++ class CbmMcbm2020TrdTshiftPar +; #pragma link C++ class CbmTrdModuleAbstract + ; #pragma link C++ class CbmTrdParManager + ; diff --git a/core/detectors/trd/CbmTrdContFact.cxx b/core/detectors/trd/CbmTrdContFact.cxx index b11a076cc3..cd381d269b 100644 --- a/core/detectors/trd/CbmTrdContFact.cxx +++ b/core/detectors/trd/CbmTrdContFact.cxx @@ -10,11 +10,12 @@ ///////////////////////////////////////////////////////////// #include "CbmTrdContFact.h" -#include "CbmTrdParSetAsic.h" // for CbmTrdParSetAsic -#include "CbmTrdParSetDigi.h" // for CbmTrdParSetDigi -#include "CbmTrdParSetGain.h" // for CbmTrdParSetGain -#include "CbmTrdParSetGas.h" // for CbmTrdParSetGas -#include "CbmTrdParSetGeo.h" // for CbmTrdParSetGeo +#include "CbmMcbm2020TrdTshiftPar.h" // for CbmMcbm2020TrdTshiftPar +#include "CbmTrdParSetAsic.h" // for CbmTrdParSetAsic +#include "CbmTrdParSetDigi.h" // for CbmTrdParSetDigi +#include "CbmTrdParSetGain.h" // for CbmTrdParSetGain +#include "CbmTrdParSetGas.h" // for CbmTrdParSetGas +#include "CbmTrdParSetGeo.h" // for CbmTrdParSetGeo #include <FairContFact.h> // for FairContainer #include <FairLogger.h> // for Logger, LOG @@ -68,6 +69,13 @@ void CbmTrdContFact::setAllContainers() { "CbmTrdParSetGeo", "Trd Geometry Parameters", "TestDefaultContext"); par->addContext("TestNonDefaultContext"); containers->Add(par); + + FairContainer* pTrd = + new FairContainer("CbmMcbm2020TrdTshiftPar", + "TRD timeshift unpacker parameters mCbm 2020", + "Default"); + pTrd->addContext("Default"); + containers->Add(pTrd); } FairParSet* CbmTrdContFact::createContainer(FairContainer* c) { @@ -93,5 +101,10 @@ FairParSet* CbmTrdContFact::createContainer(FairContainer* c) { else if (strcmp(name, "CbmTrdParSetGeo") == 0) p = new CbmTrdParSetGeo( c->getConcatName().Data(), c->GetTitle(), c->getContext()); + else if (strcmp(name, "CbmMcbm2020TrdTshiftPar") == 0) { + p = new CbmMcbm2020TrdTshiftPar( + c->getConcatName().Data(), c->GetTitle(), c->getContext()); + } + return p; } diff --git a/fles/mcbm2018/CMakeLists.txt b/fles/mcbm2018/CMakeLists.txt index 5a975a8e91..ae03e644e3 100644 --- a/fles/mcbm2018/CMakeLists.txt +++ b/fles/mcbm2018/CMakeLists.txt @@ -28,6 +28,10 @@ Set(INCLUDE_DIRECTORIES ${CBMDETECTORBASE_DIR}/trd # required for parameter handling of the trd ${CBMDETECTORBASE_DIR}/psd + ${CBMDETECTORBASE_DIR}/sts + ${CBMDETECTORBASE_DIR}/tof + ${CBMDETECTORBASE_DIR}/much + ${CBMDETECTORBASE_DIR}/rich ) Set(SYSTEM_INCLUDE_DIRECTORIES @@ -36,8 +40,6 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ${ROOT_INCLUDE_DIR} ${IPC_INCLUDE_DIRECTORY} ${CBMROOT_SOURCE_DIR}/external/flib_dpb/flib_dpb - ${CBMDATA_DIR} - ${CBMDATA_DIR}/tof ${CMAKE_SOURCE_DIR}/external/cppzmq ) @@ -61,14 +63,8 @@ Set(SRCS CbmMcbm2018Source.cxx CbmMcbm2018MsCrcCheck.cxx - parameter/CbmMcbm2018StsPar.cxx - parameter/CbmMcbm2018MuchPar.cxx - parameter/CbmMcbm2018TofPar.cxx - parameter/CbmMcbm2018RichPar.cxx parameter/CbmMcbm2018HodoPar.cxx parameter/CbmMcbm2018ContFact.cxx - parameter/CbmMcbm2018PsdPar.cxx - parameter/CbmMcbm2020TrdTshiftPar.cxx unpacker/CbmMcbm2018RawConverterSdpb.cxx unpacker/CbmMcbm2018RawConverterGdpb.cxx @@ -143,7 +139,9 @@ EndIf() Set(LINKDEF CbmFlibMcbm2018LinkDef.h ) Set(LIBRARY_NAME CbmFlibMcbm2018) Set(DEPENDENCIES - CbmFlibFlesTools CbmData CbmBase fles_ipc Eve Base CbmTrdBase CbmPsdBase + CbmFlibFlesTools CbmStsBase CbmTofBase + CbmRichBase CbmMuchBase CbmTrdBase CbmPsdBase + CbmData CbmBase fles_ipc Eve Base ) GENERATE_LIBRARY() diff --git a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h index f4570ee2e4..2c9a2771bf 100644 --- a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h +++ b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h @@ -8,14 +8,8 @@ #pragma link C++ class CbmMcbm2018Source; #pragma link C++ class CbmMcbm2018MsCrcCheck; -#pragma link C++ class CbmMcbm2018StsPar; -#pragma link C++ class CbmMcbm2018MuchPar; -#pragma link C++ class CbmMcbm2018TofPar; -#pragma link C++ class CbmMcbm2018RichPar; #pragma link C++ class CbmMcbm2018HodoPar; #pragma link C++ class CbmMcbm2018ContFact; -#pragma link C++ class CbmMcbm2018PsdPar; -#pragma link C++ class CbmMcbm2020TrdTshiftPar + ; #pragma link C++ class CbmMcbm2018RawConverterSdpb; #pragma link C++ class CbmMcbm2018RawConverterGdpb; diff --git a/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx b/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx index 0748affe15..88964fb14a 100644 --- a/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx +++ b/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx @@ -9,12 +9,6 @@ #include "CbmMcbm2018ContFact.h" #include "CbmMcbm2018HodoPar.h" -#include "CbmMcbm2018MuchPar.h" -#include "CbmMcbm2018PsdPar.h" -#include "CbmMcbm2018RichPar.h" -#include "CbmMcbm2018StsPar.h" -#include "CbmMcbm2018TofPar.h" -#include "CbmMcbm2020TrdTshiftPar.h" #include "FairRuntimeDb.h" @@ -34,33 +28,6 @@ void CbmMcbm2018ContFact::setAllContainers() { /** Creates the Container objects with all accepted contexts and adds them to * the list of containers for the fles test library.*/ - FairContainer* pSts = new FairContainer("CbmMcbm2018StsPar", - "STS at MCBM 2018 Unpack Parameters", - "TestDefaultContext"); - pSts->addContext("TestNonDefaultContext"); - containers->Add(pSts); - - FairContainer* pMuch = - new FairContainer("CbmMcbm2018MuchPar", - "MUCH at MCBM 2018 Unpack Parameters", - "TestDefaultContext"); - pMuch->addContext("TestNonDefaultContext"); - containers->Add(pMuch); - - - FairContainer* pTof = new FairContainer("CbmMcbm2018TofPar", - "TOF at MCBM 2018 Unpack Parameters", - "TestDefaultContext"); - pTof->addContext("TestNonDefaultContext"); - containers->Add(pTof); - - FairContainer* pRich = - new FairContainer("CbmMcbm2018RichPar", - "RICH at MCBM 2018 Unpack Parameters", - "TestDefaultContext"); - pRich->addContext("TestNonDefaultContext"); - containers->Add(pRich); - FairContainer* pHodo = new FairContainer("CbmMcbm2018HodoPar", "HODO at MCBM 2018 Unpack Parameters", @@ -68,18 +35,6 @@ void CbmMcbm2018ContFact::setAllContainers() { pHodo->addContext("TestNonDefaultContext"); containers->Add(pHodo); - FairContainer* pPsd = new FairContainer("CbmMcbm2018PsdPar", - "PSD at MCBM 2018 Unpack Parameters", - "TestDefaultContext"); - pPsd->addContext("TestNonDefaultContext"); - containers->Add(pPsd); - - FairContainer* pTrd = - new FairContainer("CbmMcbm2020TrdTshiftPar", - "TRD timeshift unpacker parameters mCbm 2020", - "Trd mCbm 2020 timeshift correction"); - pTrd->addContext("TestDefaultContext"); - containers->Add(pTrd); } FairParSet* CbmMcbm2018ContFact::createContainer(FairContainer* c) { @@ -89,34 +44,10 @@ FairParSet* CbmMcbm2018ContFact::createContainer(FairContainer* c) { const char* name = c->GetName(); FairParSet* p = 0; - if (strcmp(name, "CbmMcbm2018StsPar") == 0) { - p = new CbmMcbm2018StsPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } - if (strcmp(name, "CbmMcbm2018MuchPar") == 0) { - p = new CbmMcbm2018MuchPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } - if (strcmp(name, "CbmMcbm2018TofPar") == 0) { - p = new CbmMcbm2018TofPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } - if (strcmp(name, "CbmMcbm2018RichPar") == 0) { - p = new CbmMcbm2018RichPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } if (strcmp(name, "CbmMcbm2018HodoPar") == 0) { p = new CbmMcbm2018HodoPar( c->getConcatName().Data(), c->GetTitle(), c->getContext()); } - if (strcmp(name, "CbmMcbm2018PsdPar") == 0) { - p = new CbmMcbm2018PsdPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } - if (strcmp(name, "CbmMcbm2020TrdTshiftPar") == 0) { - p = new CbmMcbm2020TrdTshiftPar( - c->getConcatName().Data(), c->GetTitle(), c->getContext()); - } return p; } -- GitLab