Project

General

Profile

Feature #10088

Introducing IDs for photon detector geometry

Added by Gleb Sinev about 5 years ago. Updated about 4 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Category:
Geometry
Target version:
-
Start date:
09/08/2015
Due date:
% Done:

0%

Estimated time:
Experiment:
LArSoft
Co-Assignees:
Duration:

Description

I would like to request standardized IDs for OpChannels and OpDets
analogous to what the TPC geometry elements have (WireID, ChannelID, etc.).

It would be nice to standardize everything else in the optical detector code as well
(use ADC_counts, ticks, and so on everywhere instead of shorts, unsigned ints, etc.),
but that is probably a separate issue.

History

#1 Updated by Lynn Garren about 5 years ago

  • Status changed from New to Accepted

We would be happy to accept contributions in the form of feature branches addressing these issues. Channel ID optimization, particularly, must be coordinated with the experiments.

#2 Updated by Katherine Lato about 4 years ago

  • Category set to Geometry
  • Status changed from Accepted to Feedback
  • Experiment LArSoft added
  • Experiment deleted (-)

Gleb,
Would you be willing to come up with a proposal on how to do this?
Katherine & Gianluca

#3 Updated by Gleb Sinev about 4 years ago

Hi Katherine and Gianluca,

I think I need to look at how Gianluca implemented this for different TPC geometry elements,
and do something similar here. Unfortunately, I'm not sure when I will get time to do this.

Gleb

#4 Updated by Gianluca Petrillo about 4 years ago

The hierarchy of IDs for TPC geometry is in larcoreobj:source:larcoreobj/SimpleTypesAndConstants/geo_types.h: geo::WireID is the most derived object, that encapsulates the others. geo::CryostatID is basically an integer.
The presence of the boolean isValid is something I would not recommend, since it wastes bytes, it is almost never set by users and if it were really needed it could be implemented as a member function valid() checking against a magic value of the ID (e.g. std::numeric_limits<unsigned short int>::max(). Using unsigned short instead of int is not a bad idea either, since the total structure made of two IDs would well fit in 4 bytes.

#5 Updated by Katherine Lato about 4 years ago

  • Status changed from Feedback to Assigned
  • Assignee set to Gleb Sinev

Gleb,
When you get to it ...



Also available in: Atom PDF