Skip to content
Snippets Groups Projects

Add constructor class for the TRD(2D) chamber.

Merged Alexandru Bercuci requested to merge a.bercuci/cbmroot:TRD2D_chmb into master

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

    TRD2D_day1.png

    TRD_wall_day1.png

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.

Edited by Pierre-Alain Loizeau

Merge request reports

Merge request pipeline #27511 passed

Merge request pipeline passed for d4839fc0

Merged by Florian UhligFlorian Uhlig 1 year ago (Feb 27, 2024 9:24am UTC)

Loading

Pipeline #27512 passed

Pipeline passed for 89de6d6a on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Alexandru Bercuci changed the description

    changed the description

  • 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.

  • Alexandru Bercuci added 8 commits

    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

    Compare with previous version

  • added 1 commit

    • 501560a0 - add possibility to align on the z direction

    Compare with previous version

  • Alexandru Bercuci added 10 commits

    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

    Compare with previous version

  • Alexandru Bercuci added 9 commits

    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

    Compare with previous version

  • Alexandru Bercuci added 11 commits

    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

    Compare with previous version

  • @a.bercuci,

    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 Bercuci
  • Alexandru Bercuci added 142 commits

    added 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

    Compare with previous version

  • Eoin Clerkin requested review from @e.clerkin

    requested review from @e.clerkin

  • Eoin Clerkin changed the description

    changed the description

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading