Add constructor class for the TRD(2D) chamber.
PAL edit 22/02/2024: Redmine refs #2853
This MR was moved to waiting. A step by step integration will be followed with MR !1542 (merged) taking precedence.
Create geometry of the TRD2D chamber in compiled code.
-
Move macro code from Create_geometry_* macro to namespace cbm::trd:geo
-
Implement the latest modifications to the design of the chamber and FEB as they are proposed for day 1
The MR is addressing the redmine issue https://redmine.cbm.gsi.de/issues/2852, and https://redmine.cbm.gsi.de/issues/2744
This MR is linked with the MR in the geometry repo at CbmSoft/cbmroot_geometry!224 (merged)
The actual code is independent from the geometry update.
Merge request reports
Activity
Dear @a.bercuci, @p.kaehler,
you have been identified as code owner of at least one file which was changed with this merge request.
Please check the changes and approve them or request changes.
added CodeOwners label
added 8 commits
-
fc23f0b0...1aa44641 - 2 commits from branch
computing:master
- 72daee02 - add documentation
- e3028b14 - add constructor class for the TRD(2D) chamber. Move macro code from
- 7acb03bb - add namespace separation, move partially code from macro to compiled
- d8535cad - fix clang format
- 49280382 - implement all components of the TRD2D for CBM day 1
- 51095b9f - fix material initialization
Toggle commit list-
fc23f0b0...1aa44641 - 2 commits from branch
mentioned in merge request CbmSoft/cbmroot_geometry!224 (merged)
added 10 commits
-
501560a0...301d489e - 3 commits from branch
computing:master
- b8641df3 - add documentation
- bb140ffe - add constructor class for the TRD(2D) chamber. Move macro code from
- 46dc6a85 - add namespace separation, move partially code from macro to compiled
- ac232d9d - fix clang format
- 4e005bc3 - implement all components of the TRD2D for CBM day 1
- e172b152 - fix material initialization
- 856ac0d2 - add possibility to align on the z direction
Toggle commit list-
501560a0...301d489e - 3 commits from branch
- Resolved by Alexandru Bercuci
@f.uhlig @p.-a.loizeau The current MR adds functionality to the TRD geometry and propose the TRD2D as the default for the inner part of the TRD wall. The MR from the geometry repository is blocked by this one. There are additional additions which are also on hold by it (check e.g. https://redmine.cbm.gsi.de/issues/2897#note-7). We would appreciate if you could push it to master. Thanks
- Resolved by Alexandru Bercuci
Ping @e.clerkin: linked to CbmSoft/cbmroot_geometry!224 (merged)
added 9 commits
-
856ac0d2...6c7d2a6f - 2 commits from branch
computing:master
- 1362de50 - add documentation
- 115e341b - add constructor class for the TRD(2D) chamber. Move macro code from
- 7015a0a5 - add namespace separation, move partially code from macro to compiled
- 92b1f98c - fix clang format
- 79ac86cb - implement all components of the TRD2D for CBM day 1
- 10b984c3 - fix material initialization
- b3eab079 - add possibility to align on the z direction
Toggle commit list-
856ac0d2...6c7d2a6f - 2 commits from branch
added 11 commits
- ebc4af4a - 1 earlier commit
- 2f51a3e2 - add constructor class for the TRD(2D) chamber. Move macro code from
- c05fb9de - add namespace separation, move partially code from macro to compiled
- 150099ed - fix clang format
- 991e9c32 - implement all components of the TRD2D for CBM day 1
- 21d8fe1c - fix material initialization
- 53d6c368 - add possibility to align on the z direction
- 1ec3344c - move trd namespace definition to CbmTrdDefs
- 2c5823e1 - prepare the stage for the future move to a new scheme of parameter handling.
- e47d136a - align basic steering macro with the new parameters
- a65957c3 - fix format
Toggle commit listadded Geometry label
this is what I get when I open the produced file with only Root
root -l macro/trd/fair/trd.v23/trd_v23b_1e.geo.root root [0] Attaching file macro/trd/fair/trd.v23/trd_v23b_1e.geo.root as _file0... Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Radiator is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Component is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Window is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Volume is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::BackPanel is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::FEB is available (TFile *) 0x144b6cbe0 root [1] new TBrowser(); root [2] Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Radiator) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Window) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Volume) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::BackPanel) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::FEB) to store in a compiled pointer (TGeoVolume) Info in <TGeoManager::TGeoManager>: Geometry Geometry, default geometry created
which shows that you don't use pure ROOT in your geometry. If I try to run the test script from the geometry repository the stuff crashes
root -l 'ci_scripts/scan_geometry.C("macro/trd/fair/trd.v23/trd_v23b_1e.geo.root")' root [0] Processing ci_scripts/scan_geometry.C("macro/trd/fair/trd.v23/trd_v23b_1e.geo.root")... Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Radiator is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Component is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Window is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::Volume is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::BackPanel is available Warning in <TClass::Init>: no dictionary for class cbm::trd::geo::Chamber::FEB is available Collection name='THashList', class='THashList', size=2 TKey Name = trd_v23b_1e, Title = , Cycle = 1 TKey Name = trd_trans, Title = , Cycle = 1 Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Radiator) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Window) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::Volume) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::BackPanel) to store in a compiled pointer (TGeoVolume) Error in <TBufferFile::ReadObject>: trying to read an emulated class (cbm::trd::geo::Chamber::FEB) to store in a compiled pointer (TGeoVolume) Info in <TGeoManager::TGeoManager>: Geometry Geometry, default geometry created Collection name='TObjArray', class='TObjArray', size=16 OBJ: TGeoNodeMatrix layer01_10101 OBJ: TGeoNodeMatrix layer02_11202 OBJ: TGeoNodeMatrix layer03_10303 OBJ: TGeoNodeMatrix layer04_11404 OBJ: TGeoNodeMatrix support_trd1_1 Node: 1/5 Name: OBJ: TGeoNodeMatrix layer01_10101 Shape: OBJ: TGeoShapeAssembly TGeoShapeAssembly Medium: OBJ: TGeoMedium dummy Material dummy A=0 Z=0 rho=0 radlen=0 intlen=0 index=-1 Position: matrix Identity - tr=0 rot=0 refl=0 scl=0 shr=0 reg=1 own=0 1.000000 0.000000 0.000000 Tx = 0.000000 0.000000 1.000000 0.000000 Ty = 0.000000 0.000000 0.000000 1.000000 Tz = 0.000000 Number of daughters: 35 Node: 1/5 1/35 Name: OBJ: TGeoNodeMatrix module1_101001001 *** Break *** segmentation violation Shape: [/usr/lib/system/libsystem_platform.dylib] _sigtramp (no debug info) [<unknown binary>] (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::IncrementalExecutor::executeWrapper(llvm::StringRef, cling::Value*) const (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::Interpreter::EvaluateInternal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::MetaSema::actOnxCommand(llvm::StringRef, llvm::StringRef, cling::Value*) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::MetaParser::isXCommand(cling::MetaSema::ActionResult&, cling::Value*) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::MetaParser::isCommand(cling::MetaSema::ActionResult&, cling::Value*) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] cling::MetaProcessor::process(llvm::StringRef, cling::Interpreter::CompilationResult&, cling::Value*, bool) (no debug info) [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] HandleInterpreterException(cling::MetaProcessor*, char const*, cling::Interpreter::CompilationResult&, cling::Value*) /opt/fairsoft/source/nov22/build/Source/root/core/metacling/src/TCling.cxx:2450 [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) /opt/fairsoft/source/nov22/build/Source/root/core/metacling/src/TCling.cxx:0 [/opt/fairsoft/nov22p1/lib/libCling.6.26.10.so] TCling::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) /opt/fairsoft/source/nov22/build/Source/root/core/metacling/src/TCling.cxx:0 [/opt/fairsoft/nov22p1/lib/libCore.6.26.10.so] TApplication::ExecuteFile(char const*, int*, bool) /opt/fairsoft/source/nov22/build/Source/root/core/base/src/TApplication.cxx:0 [/opt/fairsoft/nov22p1/lib/libRint.6.26.10.so] TRint::ProcessLineNr(char const*, char const*, int*) /opt/fairsoft/source/nov22/build/Source/root/core/rint/src/TRint.cxx:811 [/opt/fairsoft/nov22p1/lib/libRint.6.26.10.so] TRint::Run(bool) /opt/fairsoft/source/nov22/build/Source/root/core/rint/src/TRint.cxx:0 [/opt/fairsoft/nov22p1/bin/root.exe] main /opt/fairsoft/source/nov22/build/Source/root/main/src/rmain.cxx:86 [/usr/lib/dyld] start (no debug info)
OK. I understand. It is than clear forbidden to use CbmRoot classes in geometry !
@f.uhlig I have removed the dependency. Pls check that you can read the geometry with only ROOT. Looking forward for your test.
Alex
Edited by Alexandru Bercuciadded 142 commits
-
a65957c3...d330f18b - 129 commits from branch
computing:master
- d330f18b...2eab61f9 - 3 earlier commits
- a3d76ee0 - fix clang format
- 152f8c06 - implement all components of the TRD2D for CBM day 1
- 4229e585 - fix material initialization
- 2a4a73a7 - add possibility to align on the z direction
- 5d807d21 - move trd namespace definition to CbmTrdDefs
- b5aeb8af - prepare the stage for the future move to a new scheme of parameter handling.
- 029f0733 - align basic steering macro with the new parameters
- 6e30689a - fix format
- 0863165a - add new setup parameter. Define the old set of parameters as legacy
- 9c5a9f12 - Change Geo self build process into geo-factory to release geometry from
Toggle commit list-
a65957c3...d330f18b - 129 commits from branch
- Resolved by Alexandru Bercuci
- Resolved by Alexandru Bercuci
requested review from @e.clerkin