CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
G4SimTrack Class Reference

#include <G4SimTrack.h>

Public Member Functions

void copyCrossedBoundaryVars (const TrackWithHistory *track)
 
bool crossedBoundary () const
 
double energy () const
 
 G4SimTrack ()
 
 G4SimTrack (int iid, int ipart, const math::XYZVectorD &ip, double ie)
 
 G4SimTrack (int iid, int ipart, const math::XYZVectorD &ip, double ie, int iv, int ig, const math::XYZVectorD &ipmom)
 
 G4SimTrack (int iid, int ipart, const math::XYZVectorD &ip, double ie, int iv, int ig, const math::XYZVectorD &ipmom, const math::XYZVectorD &tkpos, const math::XYZTLorentzVectorD &tkmom)
 
int getIDAtBoundary () const
 
const math::XYZTLorentzVectorFgetMomentumAtBoundary () const
 
const math::XYZTLorentzVectorFgetPositionAtBoundary () const
 
int id () const
 
int igenpart () const
 
int ivert () const
 
const math::XYZVectorDmomentum () const
 
int parentID () const
 
const math::XYZVectorDparentMomentum () const
 
int part () const
 
const math::XYZTLorentzVectorDtrackerSurfaceMomentum () const
 
const math::XYZVectorDtrackerSurfacePosition () const
 
 ~G4SimTrack ()=default
 

Private Attributes

bool crossedBoundary_
 
int id_
 
int idAtBoundary_
 
double ie_
 
int igenpart_
 
math::XYZVectorD ip_
 
int ipart_
 
int ivert_
 
math::XYZTLorentzVectorF momentumAtBoundary_
 
int parentID_
 
math::XYZVectorD parentMomentum_
 
math::XYZTLorentzVectorF positionAtBoundary_
 
math::XYZTLorentzVectorD tkSurfaceMomentum_
 
math::XYZVectorD tkSurfacePosition_
 

Detailed Description

Definition at line 10 of file G4SimTrack.h.

Constructor & Destructor Documentation

◆ G4SimTrack() [1/4]

G4SimTrack::G4SimTrack ( )
inline

Definition at line 12 of file G4SimTrack.h.

12 {}

◆ G4SimTrack() [2/4]

G4SimTrack::G4SimTrack ( int  iid,
int  ipart,
const math::XYZVectorD ip,
double  ie 
)
inline

Definition at line 14 of file G4SimTrack.h.

15  : id_(iid),
16  ipart_(ipart),
17  ip_(ip),
18  ie_(ie),
19  ivert_(-1),
20  igenpart_(-1),
21  parentID_(-1),
22  parentMomentum_(math::XYZVectorD(0., 0., 0.)),
25  crossedBoundary_(false) {}
int ipart_
Definition: G4SimTrack.h:91
bool crossedBoundary_
Definition: G4SimTrack.h:100
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
int ivert_
Definition: G4SimTrack.h:94
math::XYZVectorD parentMomentum_
Definition: G4SimTrack.h:97
math::XYZTLorentzVectorD tkSurfaceMomentum_
Definition: G4SimTrack.h:99
int igenpart_
Definition: G4SimTrack.h:95
math::XYZVectorD tkSurfacePosition_
Definition: G4SimTrack.h:98
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
math::XYZVectorD ip_
Definition: G4SimTrack.h:92
int parentID_
Definition: G4SimTrack.h:96
double ie_
Definition: G4SimTrack.h:93

◆ G4SimTrack() [3/4]

G4SimTrack::G4SimTrack ( int  iid,
int  ipart,
const math::XYZVectorD ip,
double  ie,
int  iv,
int  ig,
const math::XYZVectorD ipmom 
)
inline

Definition at line 27 of file G4SimTrack.h.

28  : id_(iid),
29  ipart_(ipart),
30  ip_(ip),
31  ie_(ie),
32  ivert_(iv),
33  igenpart_(ig),
34  parentMomentum_(ipmom),
37  crossedBoundary_(false) {}
int ipart_
Definition: G4SimTrack.h:91
bool crossedBoundary_
Definition: G4SimTrack.h:100
int32_t *__restrict__ iv
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
int ivert_
Definition: G4SimTrack.h:94
math::XYZVectorD parentMomentum_
Definition: G4SimTrack.h:97
math::XYZTLorentzVectorD tkSurfaceMomentum_
Definition: G4SimTrack.h:99
int igenpart_
Definition: G4SimTrack.h:95
math::XYZVectorD tkSurfacePosition_
Definition: G4SimTrack.h:98
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
math::XYZVectorD ip_
Definition: G4SimTrack.h:92
double ie_
Definition: G4SimTrack.h:93

◆ G4SimTrack() [4/4]

G4SimTrack::G4SimTrack ( int  iid,
int  ipart,
const math::XYZVectorD ip,
double  ie,
int  iv,
int  ig,
const math::XYZVectorD ipmom,
const math::XYZVectorD tkpos,
const math::XYZTLorentzVectorD tkmom 
)
inline

Definition at line 39 of file G4SimTrack.h.

48  : id_(iid),
49  ipart_(ipart),
50  ip_(ip),
51  ie_(ie),
52  ivert_(iv),
53  igenpart_(ig),
54  parentMomentum_(ipmom),
55  tkSurfacePosition_(tkpos),
56  tkSurfaceMomentum_(tkmom),
57  crossedBoundary_(false) {}
int ipart_
Definition: G4SimTrack.h:91
bool crossedBoundary_
Definition: G4SimTrack.h:100
int32_t *__restrict__ iv
int ivert_
Definition: G4SimTrack.h:94
math::XYZVectorD parentMomentum_
Definition: G4SimTrack.h:97
math::XYZTLorentzVectorD tkSurfaceMomentum_
Definition: G4SimTrack.h:99
int igenpart_
Definition: G4SimTrack.h:95
math::XYZVectorD tkSurfacePosition_
Definition: G4SimTrack.h:98
math::XYZVectorD ip_
Definition: G4SimTrack.h:92
double ie_
Definition: G4SimTrack.h:93

◆ ~G4SimTrack()

G4SimTrack::~G4SimTrack ( )
default

Member Function Documentation

◆ copyCrossedBoundaryVars()

void G4SimTrack::copyCrossedBoundaryVars ( const TrackWithHistory track)
inline

Definition at line 76 of file G4SimTrack.h.

References crossedBoundary_, idAtBoundary_, momentumAtBoundary_, positionAtBoundary_, and HLT_2023v12_cff::track.

Referenced by SimTrackManager::reallyStoreTracks().

76  {
77  if (track->crossedBoundary()) {
78  crossedBoundary_ = track->crossedBoundary();
79  idAtBoundary_ = track->getIDAtBoundary();
80  positionAtBoundary_ = track->getPositionAtBoundary();
81  momentumAtBoundary_ = track->getMomentumAtBoundary();
82  }
83  }
bool crossedBoundary_
Definition: G4SimTrack.h:100
math::XYZTLorentzVectorF positionAtBoundary_
Definition: G4SimTrack.h:102
int idAtBoundary_
Definition: G4SimTrack.h:101
math::XYZTLorentzVectorF momentumAtBoundary_
Definition: G4SimTrack.h:103

◆ crossedBoundary()

bool G4SimTrack::crossedBoundary ( ) const
inline

Definition at line 84 of file G4SimTrack.h.

References crossedBoundary_.

84 { return crossedBoundary_; }
bool crossedBoundary_
Definition: G4SimTrack.h:100

◆ energy()

double G4SimTrack::energy ( void  ) const
inline

Definition at line 64 of file G4SimTrack.h.

References ie_.

Referenced by Jet.Jet::rawEnergy().

64 { return ie_; }
double ie_
Definition: G4SimTrack.h:93

◆ getIDAtBoundary()

int G4SimTrack::getIDAtBoundary ( ) const
inline

Definition at line 87 of file G4SimTrack.h.

References idAtBoundary_.

87 { return idAtBoundary_; }
int idAtBoundary_
Definition: G4SimTrack.h:101

◆ getMomentumAtBoundary()

const math::XYZTLorentzVectorF& G4SimTrack::getMomentumAtBoundary ( ) const
inline

Definition at line 86 of file G4SimTrack.h.

References momentumAtBoundary_.

86 { return momentumAtBoundary_; }
math::XYZTLorentzVectorF momentumAtBoundary_
Definition: G4SimTrack.h:103

◆ getPositionAtBoundary()

const math::XYZTLorentzVectorF& G4SimTrack::getPositionAtBoundary ( ) const
inline

Definition at line 85 of file G4SimTrack.h.

References positionAtBoundary_.

85 { return positionAtBoundary_; }
math::XYZTLorentzVectorF positionAtBoundary_
Definition: G4SimTrack.h:102

◆ id()

int G4SimTrack::id ( void  ) const
inline

Definition at line 61 of file G4SimTrack.h.

References id_.

61 { return id_; }

◆ igenpart()

int G4SimTrack::igenpart ( ) const
inline

Definition at line 66 of file G4SimTrack.h.

References igenpart_.

66 { return igenpart_; }
int igenpart_
Definition: G4SimTrack.h:95

◆ ivert()

int G4SimTrack::ivert ( ) const
inline

Definition at line 65 of file G4SimTrack.h.

References ivert_.

65 { return ivert_; }
int ivert_
Definition: G4SimTrack.h:94

◆ momentum()

const math::XYZVectorD& G4SimTrack::momentum ( ) const
inline

Definition at line 63 of file G4SimTrack.h.

References ip_.

63 { return ip_; }
math::XYZVectorD ip_
Definition: G4SimTrack.h:92

◆ parentID()

int G4SimTrack::parentID ( ) const
inline

Definition at line 74 of file G4SimTrack.h.

References parentID_.

74 { return parentID_; }
int parentID_
Definition: G4SimTrack.h:96

◆ parentMomentum()

const math::XYZVectorD& G4SimTrack::parentMomentum ( ) const
inline

Definition at line 68 of file G4SimTrack.h.

References parentMomentum_.

68 { return parentMomentum_; }
math::XYZVectorD parentMomentum_
Definition: G4SimTrack.h:97

◆ part()

int G4SimTrack::part ( ) const
inline

Definition at line 62 of file G4SimTrack.h.

References ipart_.

62 { return ipart_; }
int ipart_
Definition: G4SimTrack.h:91

◆ trackerSurfaceMomentum()

const math::XYZTLorentzVectorD& G4SimTrack::trackerSurfaceMomentum ( ) const
inline

Definition at line 71 of file G4SimTrack.h.

References tkSurfaceMomentum_.

71 { return tkSurfaceMomentum_; }
math::XYZTLorentzVectorD tkSurfaceMomentum_
Definition: G4SimTrack.h:99

◆ trackerSurfacePosition()

const math::XYZVectorD& G4SimTrack::trackerSurfacePosition ( ) const
inline

Definition at line 70 of file G4SimTrack.h.

References tkSurfacePosition_.

70 { return tkSurfacePosition_; }
math::XYZVectorD tkSurfacePosition_
Definition: G4SimTrack.h:98

Member Data Documentation

◆ crossedBoundary_

bool G4SimTrack::crossedBoundary_
private

Definition at line 100 of file G4SimTrack.h.

Referenced by copyCrossedBoundaryVars(), and crossedBoundary().

◆ id_

int G4SimTrack::id_
private

Definition at line 90 of file G4SimTrack.h.

Referenced by id().

◆ idAtBoundary_

int G4SimTrack::idAtBoundary_
private

Definition at line 101 of file G4SimTrack.h.

Referenced by copyCrossedBoundaryVars(), and getIDAtBoundary().

◆ ie_

double G4SimTrack::ie_
private

Definition at line 93 of file G4SimTrack.h.

Referenced by energy().

◆ igenpart_

int G4SimTrack::igenpart_
private

Definition at line 95 of file G4SimTrack.h.

Referenced by igenpart().

◆ ip_

math::XYZVectorD G4SimTrack::ip_
private

Definition at line 92 of file G4SimTrack.h.

Referenced by momentum().

◆ ipart_

int G4SimTrack::ipart_
private

Definition at line 91 of file G4SimTrack.h.

Referenced by part().

◆ ivert_

int G4SimTrack::ivert_
private

Definition at line 94 of file G4SimTrack.h.

Referenced by ivert().

◆ momentumAtBoundary_

math::XYZTLorentzVectorF G4SimTrack::momentumAtBoundary_
private

Definition at line 103 of file G4SimTrack.h.

Referenced by copyCrossedBoundaryVars(), and getMomentumAtBoundary().

◆ parentID_

int G4SimTrack::parentID_
private

Definition at line 96 of file G4SimTrack.h.

Referenced by parentID().

◆ parentMomentum_

math::XYZVectorD G4SimTrack::parentMomentum_
private

Definition at line 97 of file G4SimTrack.h.

Referenced by parentMomentum().

◆ positionAtBoundary_

math::XYZTLorentzVectorF G4SimTrack::positionAtBoundary_
private

Definition at line 102 of file G4SimTrack.h.

Referenced by copyCrossedBoundaryVars(), and getPositionAtBoundary().

◆ tkSurfaceMomentum_

math::XYZTLorentzVectorD G4SimTrack::tkSurfaceMomentum_
private

Definition at line 99 of file G4SimTrack.h.

Referenced by trackerSurfaceMomentum().

◆ tkSurfacePosition_

math::XYZVectorD G4SimTrack::tkSurfacePosition_
private

Definition at line 98 of file G4SimTrack.h.

Referenced by trackerSurfacePosition().