Skip to content

user stories: 3D geometry description for detectors #137

Open
@decibelcooper

Description

@decibelcooper

@sbinet I'm not sure if this is exactly what you meant by filing an issue with "user stories". Please correct me if I'm doing it wrong, for there are more issues to come.

For the purpose of reconstructing events in tracking and calorimetry subsystems natively in go, I have need of a library capable of holding descriptions of a set of 3D volumes that make up a detector geometry in memory and providing efficient methods for calculating

  • whether or not points exist within volumes,
  • intersection of parameterized trajectories (straight line + helix?) with volume surfaces.

One should also be able to...

  • assign lineage to volumes
  • assign both translations and rotations to volumes within the parent volume.
  • assign volumes to assemblies
  • associate material properties with volumes (containing e.g. density, composition, radiation length, etc)

Volumes should be constructed with one of a set of common parameterized shapes. In particular, I have need of (this is a minimal list, more would be useful later on)...

  • Right circular cylinders
  • Right circular conic frusta
  • cuboids
  • extruded trapezoids (or perhaps rectangular frusta?)
  • boolean unions (this || that)
  • boolean intersections (this && that)
  • boolean subtractions (this && !that)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions