#include <BesTruthTrack.hh>
Public Types | |
enum | { unassigned = -1 } |
enum | { unassigned = -1 } |
Public Member Functions | |
void | AddDaughterIndex (G4int index) |
void | AddDaughterIndex (G4int index) |
BesTruthTrack () | |
BesTruthTrack () | |
void | Found () |
void | Found () |
G4int | GetBarcodeEndVtx () |
G4int | GetBarcodeEndVtx () |
vector< int > | GetDaughterIndexes () const |
vector< int > | GetDaughterIndexes () const |
G4int | GetG4TrackId () const |
G4int | GetG4TrackId () const |
G4int | GetIndex () const |
G4int | GetIndex () const |
HepLorentzVector | GetP4 () const |
HepLorentzVector | GetP4 () const |
BesTruthTrack * | GetParentTrack () |
BesTruthTrack * | GetParentTrack () |
G4String | GetParticleName () const |
G4String | GetParticleName () const |
G4double | GetPDGCharge () const |
G4double | GetPDGCharge () const |
G4int | GetPDGCode () const |
G4int | GetPDGCode () const |
G4String | GetSource () |
G4String | GetSource () |
BesTruthVertex * | GetTerminalVertex () const |
BesTruthVertex * | GetTerminalVertex () const |
BesTruthVertex * | GetVertex () const |
BesTruthVertex * | GetVertex () const |
G4bool | NotFound () |
G4bool | NotFound () |
void | SetBarcodeEndVtx (G4int vtx) |
void | SetBarcodeEndVtx (G4int vtx) |
void | SetG4TrackId (G4int trackId) |
void | SetG4TrackId (G4int trackId) |
void | SetIndex (G4int index) |
void | SetIndex (G4int index) |
void | SetP4 (const HepLorentzVector &p4) |
void | SetP4 (const HepLorentzVector &p4) |
void | SetParticleName (G4String name) |
void | SetParticleName (G4String name) |
void | SetPDGCharge (G4double charge) |
void | SetPDGCharge (G4double charge) |
void | SetPDGCode (G4int code) |
void | SetPDGCode (G4int code) |
void | SetSource (G4String source) |
void | SetSource (G4String source) |
void | SetTerminalVertex (BesTruthVertex *vertex) |
void | SetTerminalVertex (BesTruthVertex *vertex) |
void | SetVertex (BesTruthVertex *vertex) |
void | SetVertex (BesTruthVertex *vertex) |
~BesTruthTrack () | |
~BesTruthTrack () | |
Private Attributes | |
G4int | m_barcodeEndVtx |
vector< int > | m_daughterIndexes |
vector< int > | m_daughterIndexes |
G4bool | m_found |
HepLorentzVector | m_fourMomentum |
G4int | m_g4TrackId |
G4int | m_index |
G4String | m_particleName |
G4double | m_PDGCharge |
G4int | m_PDGCode |
G4String | m_source |
BesTruthVertex * | m_terminalVertex |
BesTruthVertex * | m_terminalVertex |
BesTruthVertex * | m_vertex |
BesTruthVertex * | m_vertex |
Friends | |
ostream & | operator<< (ostream &, const BesTruthTrack *) |
ostream & | operator<< (ostream &, const BesTruthTrack &) |
ostream & | operator<< (ostream &, const BesTruthTrack *) |
ostream & | operator<< (ostream &, const BesTruthTrack &) |
|
00033 { unassigned = -1 };
|
|
00033 { unassigned = -1 };
|
|
00018 :m_fourMomentum(0),m_daughterIndexes(0) 00019 { 00020 //m_fourMomentum; 00021 m_vertex=0; 00022 m_terminalVertex=0; 00023 m_PDGCode=0; 00024 m_PDGCharge=-99; 00025 m_particleName=""; 00026 m_index=unassigned; 00027 m_g4TrackId=-99; 00028 //m_daughterIndexes=0; 00029 m_found=false; 00030 m_source=""; 00031 }
|
|
00028 {};
|
|
|
|
00028 {};
|
|
00080 {m_daughterIndexes.push_back(index);}
|
|
00080 {m_daughterIndexes.push_back(index);}
|
|
00085 {m_found = true;}
|
|
00085 {m_found = true;}
|
|
00055 {return m_barcodeEndVtx;}
|
|
00055 {return m_barcodeEndVtx;}
|
|
00083 {return m_daughterIndexes;}
|
|
00083 {return m_daughterIndexes;}
|
|
00068 {return m_g4TrackId;}
|
|
00068 {return m_g4TrackId;}
|
|
00064 {return m_index;}
|
|
00064 {return m_index;}
|
|
00036 { return m_fourMomentum; }
|
|
00036 { return m_fourMomentum; }
|
|
00074 { 00075 if (m_vertex == 0) return 0; 00076 return m_vertex->GetParentTrack(); 00077 }
|
|
00074 { 00075 if (m_vertex == 0) return 0; 00076 return m_vertex->GetParentTrack(); 00077 }
|
|
00048 {return m_particleName;}
|
|
00048 {return m_particleName;}
|
|
00044 {return m_PDGCharge;}
|
|
00044 {return m_PDGCharge;}
|
|
00040 {return m_PDGCode;}
|
|
00040 {return m_PDGCode;}
|
|
00088 {return m_source;}
|
|
00088 {return m_source;}
|
|
00060 {return m_terminalVertex;}
|
|
00060 {return m_terminalVertex;}
|
|
00052 {return m_vertex;}
|
|
00052 {return m_vertex;}
|
|
00086 {return !m_found;}
|
|
00086 {return !m_found;}
|
|
00056 {m_barcodeEndVtx = vtx;}
|
|
00056 {m_barcodeEndVtx = vtx;}
|
|
00069 {m_g4TrackId = trackId;}
|
|
00069 {m_g4TrackId = trackId;}
|
|
00065 {m_index=index;}
|
|
00065 {m_index=index;}
|
|
00037 { m_fourMomentum = p4; }
|
|
00037 { m_fourMomentum = p4; }
|
|
00049 {m_particleName=name;}
|
|
00049 {m_particleName=name;}
|
|
00045 {m_PDGCharge = charge;}
|
|
00045 {m_PDGCharge = charge;}
|
|
00041 {m_PDGCode=code;}
|
|
00041 {m_PDGCode=code;}
|
|
00089 {m_source=source;}
|
|
00089 {m_source=source;}
|
|
00061 {m_terminalVertex=vertex;}
|
|
00061 {m_terminalVertex=vertex;}
|
|
00053 {m_vertex=vertex;}
|
|
00053 {m_vertex=vertex;}
|
|
00084 {
00085 stream << *track;
00086 return stream;
00087 }
|
|
00034 { 00035 //track index 00036 if(track.GetIndex() == BesTruthTrack::unassigned) 00037 stream << " --"; 00038 else 00039 stream << setw(4) << track.GetIndex() << " "; 00040 00041 //PDGcode 00042 if(track.GetPDGCode()) 00043 stream << setw(4) << track.GetPDGCode()<<" "; 00044 else 00045 stream <<" --"; 00046 00047 //particle name 00048 if(track.GetParticleName()) 00049 stream << setw(10) << track.GetParticleName()<<" "; 00050 else 00051 stream <<" --"; 00052 00053 //original vertex index 00054 if(track.GetVertex()) 00055 stream << setw(4) << track.GetVertex()->GetIndex(); 00056 else 00057 stream << " --"; 00058 00059 //terminal vertex index 00060 if(track.GetTerminalVertex()) 00061 stream << setw(4) << track.GetTerminalVertex()->GetIndex(); 00062 else 00063 stream << " --"; 00064 00065 00066 //four momentum 00067 stream << " " << setiosflags(ios::fixed) 00068 <<setprecision(4) << setw(11) << track.GetP4().x() 00069 <<setprecision(4) << setw(11) << track.GetP4().y() 00070 <<setprecision(4) << setw(11) << track.GetP4().z() 00071 <<setprecision(4) << setw(11) << track.GetP4().e(); 00072 00073 //daughter indexes 00074 if(track.GetDaughterIndexes().size()>0) 00075 { 00076 G4int nDaughter = track.GetDaughterIndexes().size(); 00077 for(G4int i=0;i<nDaughter;i++) 00078 stream <<" "<<( track.GetDaughterIndexes() )[i]<<" "; 00079 } 00080 return stream; 00081 }
|
|
00084 {
00085 stream << *track;
00086 return stream;
00087 }
|
|
00034 { 00035 //track index 00036 if(track.GetIndex() == BesTruthTrack::unassigned) 00037 stream << " --"; 00038 else 00039 stream << setw(4) << track.GetIndex() << " "; 00040 00041 //PDGcode 00042 if(track.GetPDGCode()) 00043 stream << setw(4) << track.GetPDGCode()<<" "; 00044 else 00045 stream <<" --"; 00046 00047 //particle name 00048 if(track.GetParticleName()) 00049 stream << setw(10) << track.GetParticleName()<<" "; 00050 else 00051 stream <<" --"; 00052 00053 //original vertex index 00054 if(track.GetVertex()) 00055 stream << setw(4) << track.GetVertex()->GetIndex(); 00056 else 00057 stream << " --"; 00058 00059 //terminal vertex index 00060 if(track.GetTerminalVertex()) 00061 stream << setw(4) << track.GetTerminalVertex()->GetIndex(); 00062 else 00063 stream << " --"; 00064 00065 00066 //four momentum 00067 stream << " " << setiosflags(ios::fixed) 00068 <<setprecision(4) << setw(11) << track.GetP4().x() 00069 <<setprecision(4) << setw(11) << track.GetP4().y() 00070 <<setprecision(4) << setw(11) << track.GetP4().z() 00071 <<setprecision(4) << setw(11) << track.GetP4().e(); 00072 00073 //daughter indexes 00074 if(track.GetDaughterIndexes().size()>0) 00075 { 00076 G4int nDaughter = track.GetDaughterIndexes().size(); 00077 for(G4int i=0;i<nDaughter;i++) 00078 stream <<" "<<( track.GetDaughterIndexes() )[i]<<" "; 00079 } 00080 return stream; 00081 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|