Necessary Maintenance #16812

Remove DUNE-specific code from GeometryGeo

Added by Gianluca Petrillo almost 4 years ago. Updated about 2 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
8.00 h


The code in geo::CryostatGeo constructor has hard-coded logic to determine whether to use a special, DUNE FD sorting for optical detectors.
This should be replaced by a virtual call to the proper sorter in geo::CryostatGeo::SortSubVolumes().
That infrastructure has still to be created, but it should be straightforward to expand the current geo::GeoObjectSorter structure to include it.


#1 Updated by Lynn Garren almost 4 years ago

  • Status changed from New to Assigned
  • Assignee set to Gianluca Petrillo

LArSoft will provide an optical detector sorter interface. It will be up to the experiments to use the sorter interface.

#2 Updated by Gianluca Petrillo over 3 years ago

  • Estimated time set to 8.00 h

#3 Updated by Gianluca Petrillo over 3 years ago

  • Description updated (diff)

#4 Updated by Katherine Lato almost 3 years ago

  • Assignee changed from Gianluca Petrillo to Saba Sehrish

#5 Updated by Saba Sehrish about 2 years ago

Following changes have been made:

  1. A new virtual function has been added to the geo::GeoObjectSorter class - virtual void SortOpDets(std::vector<geo::OpDetGeo*> & opdet) const;.
    It is not made a pure virtual function and base implementation is provided in the corresponding cxx file.
  2. The generic sort order function in larcorealg/larcorealg/Geometery/CryostatGeo.cxx, opdet_sort is renamed to sortorderOpDets and moved to larcorealg/larcorealg/Geometry/GeoObjectSorter.cxx. The implementation of SortOpDets that uses this sort order has been added to the larcorealg/larcorealg/Geometry/GeoObjectSorter.cxx.
  3. The SortOpDets function is now called in the geo::CryostatGeo::SortSubVolumes().
  4. The dune specific code has been removed from inside the geo::CryostatGeo constructor in larcorealg/larcorealg/Geometery/CryostatGeo.cxx. The function named DUNE_opdet_sort now renamed sortorderOpDet and is moved to a header dunetpc/dune/Geometry/OpDetSorter.h.
    This Dune specific sortorder for the case OpDets.size() > 600 is used in the implementation of SortOpDets for the following two GeoObjectSorters: dunetpc/dune/Geometry/GeoObjectSorterCRM.h and dunetpc/dune/Geometry/GeoObjectSorterAPA.h.

#6 Updated by Kyle Knoepfel about 2 years ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved

In release v08_12_00.

Also available in: Atom PDF