Bug #14365
Plane geometry object hosts readout information
Description
The class geo::PlaneGeo
is initialised from the geometry description (GDML), and it is meant to report geometry information on a wire plane.
Unfortunately some readout information slipped in: the signal type (fSignalType
and methods).
Since this object and its relatives do not know anything about signal types, the assignment of a signal type is performed by the parent geo::TPCGeo
by a guess: geo::kCollection
if it is the last plane in the TPC, geo::kInduction
otherwise.
This logic reflects the situation in the wire-based TPCs, but miserably fails for other types of readout (namely, dual phase where there are two collection strip planes).
This information from geo::PlaneGeo
is used by geo::GeometryCore::SignalType(geo::PlaneID)
to provide the signal type on a specified plane.
All code using it, or directly using geo::PlaneGeo::SignalType()
, is broken with respect to these alternative detectors.
Note that queries of signal type from channel ID do not use this information, but rather forward the query to the ChannelMapAlg
algorithm.
I propose the removal of this redundant and ill-designed information from geo::PlaneGeo
.
Related issues
Associated revisions
Deprecated geo::PlaneGeo::SignalType() .
This is toward the resolution of issue #14365 .
Also geo::PlaneGeo::SetSignalType() is to be considered deprecated, but it's not marked so because it is still necessary to maintain the legacy, deprecated functionality.
Instead, it's being made private (it's not supposed to be used except than for post-processing during geometry initialisation).
Deprecating geo::PlaneGeo::SignalType().
This pertains issue #14365 .
Deprecating geo::PlaneGeo::SignalType().
This pertains issue #14365 .
History
#1 Updated by Gianluca Petrillo about 4 years ago
- Blocks Feature #14364: Build a geometry infrastructure for support of arbitrary drift direction added
#2 Updated by Lynn Garren about 4 years ago
- Status changed from New to Assigned
- Assignee set to Gianluca Petrillo
- Target version set to 2017-1-quarter
Gianluca will propose this at the coordination meeting.
#3 Updated by Gianluca Petrillo about 4 years ago
- % Done changed from 0 to 80
Changes were approved at LArSoft coordination meeting on November 8th, 2016 .
#4 Updated by Gianluca Petrillo about 4 years ago
Non-breaking changes have been pushed into develop
for the repositories: larcore
, larevt
, lareventdisplay
, larreco
and dunetpc
.
Wherever geo::PlaneGeo::SygnalType()
was used, now geo::GeometryCore::SignalType()
provides that information.
This commit also includes the introduction of geo::PlaneGeo::ID()
, geo::TPCGeo::ID()
and geo::CryostatGeo::ID()
to facilitate this migration and as a new feature.
#5 Updated by Gianluca Petrillo about 4 years ago
- Status changed from Assigned to Feedback
- % Done changed from 80 to 90
Branch feature/gp_Issue14365
with the deprecation tags added will be merged in the coming LArSoft release.
This issue needs to be revisited in one month for removal of the deprecated features.
#6 Updated by Gianluca Petrillo about 4 years ago
- Due date set to 12/07/2016
#7 Updated by Gianluca Petrillo about 4 years ago
- Precedes Necessary Maintenance #14704: Resolve deprecation of geo::PlaneGeo::SignalType() added
#8 Updated by Gianluca Petrillo about 4 years ago
- Due date changed from 12/07/2016 to 12/01/2016
- Status changed from Feedback to Resolved
We will track the resolution of deprecation in issue #14704.
#9 Updated by Gianluca Petrillo about 4 years ago
- % Done changed from 90 to 100
#10 Updated by Gianluca Petrillo about 4 years ago
- Due date changed from 12/01/2016 to 11/07/2016
- Status changed from Resolved to Closed
#11 Updated by Gianluca Petrillo about 4 years ago
- Precedes deleted (Necessary Maintenance #14704: Resolve deprecation of geo::PlaneGeo::SignalType())
#12 Updated by Gianluca Petrillo about 4 years ago
- Precedes Necessary Maintenance #14704: Resolve deprecation of geo::PlaneGeo::SignalType() added
Deprecated geo::PlaneGeo::SignalType() .
This is toward the resolution of issue #14365 .
Also geo::PlaneGeo::SetSignalType() is to be considered deprecated, but it's not marked so because it is still necessary to maintain the legacy, deprecated functionality.
Instead, it's being made private (it's not supposed to be used except than for post-processing during geometry initialisation).