DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
Public Attributes | Static Private Attributes | List of all members
caf::SRTrueParticle Class Reference

#include <SRTrueParticle.h>

Public Attributes

int pdg = 0
 Particle.
 
int G4ID = -1
 ID of the particle (taken from GEANT4 – -1 if this particle is not propogated by G4)
 
long int interaction_id = -1
 True interaction ID (edep-sim 'vertexID' for ND, or GENIe record number for FD) of the source of this particle.
 
float time = NaN
 Generation time at true interaction vertex [ns].
 
TrueParticleID ancestor_id
 The primary particle this particle descended from, if relevant.
 
SRLorentzVector p
 Momentum at generation point [GeV/c].
 
SRVector3D start_pos
 Particle generation position [cm].
 
SRVector3D end_pos
 Particle end position (decay, interaction, stop) [cm].
 
int parent = -1
 GEANT4 trackID of parent particle from this particle.
 
std::vector< unsigned int > daughters
 GEANT4 trackIDs of daughter particles from this particle.
 
GEANT4 process codes.

The "process" codes are defined here: https://geant4.kek.jp/Reference/v11.1.1/G4ProcessType_8hh_source.html The "subprocess" codes depend on the value of the "process" code (see previous). The most relevant ones are:

unsigned int first_process
 
unsigned int first_subprocess
 GEANT4 subprocess code for this particle's creation or first step (see caveat on first_process).
 
unsigned int end_process
 G4 process code for the particle's end.
 
unsigned int end_subprocess
 G4 subprocess code for the particle's end.
 

Static Private Attributes

static constexpr float NaN = std::numeric_limits<float>::signaling_NaN()
 

Detailed Description

True particle in the particle record. (Most particles we store come straight from GENIE (so-called "primaries"), but occasionally we want info about other intermediaries as well)

Member Data Documentation

◆ first_process

unsigned int caf::SRTrueParticle::first_process

GEANT4 process code for creation or first step process recorded by GEANT4. BEWARE: Sometimes this is the creation process and sometimes it is simply the process undergone in the particle's first saved trajectory step. (For example, if edep-sim is your upstream G4 simulation, it filters trajectory points to a subset that contain 'interesting' processes, see EDepSim::PersistencyManager::SelectTrajectoryPoints(). If the creation process for your particle wasn't one of those, then you'll see here the process for the first trajectory point—which might be something confusing like 'ionization'—instead!) Study the values carefully for particles you are interested in if you want to use it!


The documentation for this class was generated from the following file: