Public Types | Public Member Functions | Public Attributes | List of all members
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)
 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...
 

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:

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 84 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 87 of file SimChannel.h.

Constructor & Destructor Documentation

sim::IDE::IDE ( )

Default constructor (sets "bogus" values)

Definition at line 24 of file SimChannel.cxx.

28  , x (util::kBogusD)
29  , y (util::kBogusD)
30  , z (util::kBogusD)
31  {}
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:112
float z
z position of ionization [cm]
Definition: SimChannel.h:117
constexpr int kBogusI
obviously bogus integer value
float x
x position of ionization [cm]
Definition: SimChannel.h:115
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:114
float y
y position of ionization [cm]
Definition: SimChannel.h:116
constexpr double kBogusD
obviously bogus double value
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:113
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.

35  : IDE(ide)
36  {
37 
38  trackID = trackID>=0? trackID+offset : trackID-offset;
39 
40  }
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:112
IDE()
Default constructor (sets "bogus" values)
Definition: SimChannel.cxx:24
sim::IDE::IDE ( TrackID_t  tid,
float  nel,
float  e,
float  xpos,
float  ypos,
float  zpos 
)
inline

Constructor: sets all data members.

Definition at line 97 of file SimChannel.h.

103  : trackID (tid)
104  , numElectrons(nel)
105  , energy (e)
106  , x (xpos)
107  , y (ypos)
108  , z (zpos)
109  {}
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:112
float z
z position of ionization [cm]
Definition: SimChannel.h:117
TH3F * xpos
Definition: doAna.cpp:29
float x
x position of ionization [cm]
Definition: SimChannel.h:115
TH3F * ypos
Definition: doAna.cpp:30
TH3F * zpos
Definition: doAna.cpp:31
const double e
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:114
float y
y position of ionization [cm]
Definition: SimChannel.h:116
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:113

Member Data Documentation

float sim::IDE::energy

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

Definition at line 114 of file SimChannel.h.

float sim::IDE::numElectrons

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

Definition at line 113 of file SimChannel.h.

TrackID_t sim::IDE::trackID

Geant4 supplied track ID.

Definition at line 112 of file SimChannel.h.

float sim::IDE::x

x position of ionization [cm]

Definition at line 115 of file SimChannel.h.

float sim::IDE::y

y position of ionization [cm]

Definition at line 116 of file SimChannel.h.

float sim::IDE::z

z position of ionization [cm]

Definition at line 117 of file SimChannel.h.


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