LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
sim::IDE Struct Reference

Ionization at a point of the TPC sensitive volume. More...

#include "SimChannel.h"

Public Types

typedef int TrackID_t
 Type of track ID (the value comes from Geant4) More...
 

Public Member Functions

 IDE ()
 Default constructor (sets "bogus" values) More...
 
 IDE (IDE const &ide, int offset)
 Constructor: copies an IDE, and applies the specified offset to track ID. More...
 
 IDE (TrackID_t tid, float nel, float e, float xpos, float ypos, float zpos, TrackID_t gid=util::kBogusI)
 Constructor: sets all data members. More...
 

Public Attributes

TrackID_t trackID
 Geant4 supplied track ID. More...
 
float numElectrons
 number of electrons at the readout for this track ID and time More...
 
float energy
 energy deposited by ionization by this track ID and time [MeV] More...
 
float x
 x position of ionization [cm] More...
 
float y
 y position of ionization [cm] More...
 
float z
 z position of ionization [cm] More...
 
TrackID_t origTrackID
 Geant4 supplied track ID (remains true trackID even for shower secondaries/tertiaries etc) More...
 

Detailed Description

Ionization at a point of the TPC sensitive volume.

This class stores information about the ionization from the simulation of a small step of a track through the TPC active volume.

Ionization information consists of both energy and number of electrons. It is of paramount importance to understand what each field stores:

  • position: where the ionization occurred (from Geant4 simulation)
  • track ID: Geant4 track ID of the ionizing particle
  • energy: amount of energy released by ionization (from Geant4 simulation)
  • electrons: amount of electrons reaching the readout channel

Note the different definition of the electrons respect to the rest: it describes the electrons at the anode after the drifting occurred, while all the other quantities can be related to the moment the ionization happened.

The number of electrons typically includes inefficiencies and physics effects that reduce and spread the electrons. In the simulation, this yields a fractional number of electrons.

Each IDE is also typically associated with a time (TDC) count, that is the time at which the ionized electrons reached the readout channel, in electronic ticks, as opposed as the time when ionization occurred. The latter is not stored.

At the time of writing this documentation (LArSoft 6.4.0), IDEs are computed in larg4::LArVoxelReadout. The energy and track ID come directly from Geant4 simulation. The position is the mid point of the Geant4 step that produced ionization. The electrons are

  1. converted from that same energy (using a fundamental conversion factor stored in larcoreobj/SimpleTypesAndConstants/PhysicalConstants.h)
  2. applied recombination effect by larg4::IonizationAndScintillation::Reset()
  3. applied attenuation and diffusion in larg4::LArVoxelReadout::DriftIonizationElectrons()

The latter also assembles the sim::IDE objects to be stored into sim::SimChannel.

Definition at line 85 of file SimChannel.h.

Member Typedef Documentation

typedef int sim::IDE::TrackID_t

Type of track ID (the value comes from Geant4)

Definition at line 88 of file SimChannel.h.

Constructor & Destructor Documentation

sim::IDE::IDE ( )

Default constructor (sets "bogus" values)

Definition at line 23 of file SimChannel.cxx.

27  , x(util::kBogusD)
28  , y(util::kBogusD)
29  , z(util::kBogusD)
31  {}
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:107
float z
z position of ionization [cm]
Definition: SimChannel.h:112
TrackID_t origTrackID
Geant4 supplied track ID (remains true trackID even for shower secondaries/tertiaries etc) ...
Definition: SimChannel.h:114
constexpr int kBogusI
obviously bogus integer value
float x
x position of ionization [cm]
Definition: SimChannel.h:110
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:109
float y
y position of ionization [cm]
Definition: SimChannel.h:111
constexpr double kBogusD
obviously bogus double value
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:108
sim::IDE::IDE ( sim::IDE const &  ide,
int  offset 
)

Constructor: copies an IDE, and applies the specified offset to track ID.

Definition at line 34 of file SimChannel.cxx.

References origTrackID, and trackID.

34  : IDE(ide)
35  {
36 
37  trackID = trackID >= 0 ? trackID + offset : trackID - offset;
38  origTrackID = origTrackID >= 0 ? origTrackID + offset : origTrackID - offset;
39  }
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:107
TrackID_t origTrackID
Geant4 supplied track ID (remains true trackID even for shower secondaries/tertiaries etc) ...
Definition: SimChannel.h:114
IDE()
Default constructor (sets "bogus" values)
Definition: SimChannel.cxx:23
sim::IDE::IDE ( TrackID_t  tid,
float  nel,
float  e,
float  xpos,
float  ypos,
float  zpos,
TrackID_t  gid = util::kBogusI 
)
inline

Constructor: sets all data members.

Definition at line 97 of file SimChannel.h.

104  : trackID(tid), numElectrons(nel), energy(e), x(xpos), y(ypos), z(zpos), origTrackID(gid)
105  {}
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:107
float z
z position of ionization [cm]
Definition: SimChannel.h:112
TrackID_t origTrackID
Geant4 supplied track ID (remains true trackID even for shower secondaries/tertiaries etc) ...
Definition: SimChannel.h:114
float x
x position of ionization [cm]
Definition: SimChannel.h:110
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:109
float y
y position of ionization [cm]
Definition: SimChannel.h:111
Float_t e
Definition: plot.C:35
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:108

Member Data Documentation

float sim::IDE::energy

energy deposited by ionization by this track ID and time [MeV]

Definition at line 109 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), and sim::SimChannel::TrackIDsAndEnergies().

float sim::IDE::numElectrons

number of electrons at the readout for this track ID and time

Definition at line 108 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), and sim::SimChannel::TrackIDsAndEnergies().

TrackID_t sim::IDE::origTrackID

Geant4 supplied track ID (remains true trackID even for shower secondaries/tertiaries etc)

Definition at line 114 of file SimChannel.h.

Referenced by IDE().

TrackID_t sim::IDE::trackID

Geant4 supplied track ID.

Definition at line 107 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), IDE(), and cheat::BackTracker::TrackIdToSimIDEs_Ps().

float sim::IDE::x

x position of ionization [cm]

Definition at line 110 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), and sim::SimChannel::TrackIDsAndEnergies().

float sim::IDE::y

y position of ionization [cm]

Definition at line 111 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), and sim::SimChannel::TrackIDsAndEnergies().

float sim::IDE::z

z position of ionization [cm]

Definition at line 112 of file SimChannel.h.

Referenced by sim::SimChannel::Dump(), and sim::SimChannel::TrackIDsAndEnergies().


The documentation for this struct was generated from the following files: