BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesTruthTrack.cc
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2//////// BOOST --- BESIII Object_Oriented Simulation Tool //
3////////---------------------------------------------------------------------------//
4////////Description:
5////////Author : Dengzy
6////
7//// ////Created: Aug, 2004
8//// ////Modified:
9//// ////Comment:
10//// ////---------------------------------------------------------------------------//
11//// //// $Id: BesTruthTrack.cc
12
13#include "TruSim/BesTruthTrack.hh"
14#include <iomanip>
15using namespace std;
16
17BesTruthTrack::BesTruthTrack() : m_fourMomentum( 0 ), m_daughterIndexes( 0 ) {
18 // m_fourMomentum;
19 m_vertex = 0;
20 m_terminalVertex = 0;
21 m_PDGCode = 0;
22 m_PDGCharge = -99;
23 m_particleName = "";
24 m_index = unassigned;
25 m_g4TrackId = -99;
26 // m_daughterIndexes=0;
27 m_found = false;
28 m_source = "";
29}
30
31ostream& operator<<( ostream& stream, const BesTruthTrack& track ) {
32 // track index
33 if ( track.GetIndex() == BesTruthTrack::unassigned ) stream << " --";
34 else stream << setw( 4 ) << track.GetIndex() << " ";
35
36 // PDGcode
37 if ( track.GetPDGCode() ) stream << setw( 4 ) << track.GetPDGCode() << " ";
38 else stream << " --";
39
40 // particle name
41 if ( track.GetParticleName() ) stream << setw( 10 ) << track.GetParticleName() << " ";
42 else stream << " --";
43
44 // original vertex index
45 if ( track.GetVertex() ) stream << setw( 4 ) << track.GetVertex()->GetIndex();
46 else stream << " --";
47
48 // terminal vertex index
49 if ( track.GetTerminalVertex() )
50 stream << setw( 4 ) << track.GetTerminalVertex()->GetIndex();
51 else stream << " --";
52
53 // four momentum
54 stream << " " << setiosflags( ios::fixed ) << setprecision( 4 ) << setw( 11 )
55 << track.GetP4().x() << setprecision( 4 ) << setw( 11 ) << track.GetP4().y()
56 << setprecision( 4 ) << setw( 11 ) << track.GetP4().z() << setprecision( 4 )
57 << setw( 11 ) << track.GetP4().e();
58
59 // daughter indexes
60 if ( track.GetDaughterIndexes().size() > 0 )
61 {
62 G4int nDaughter = track.GetDaughterIndexes().size();
63 for ( G4int i = 0; i < nDaughter; i++ )
64 stream << " " << ( track.GetDaughterIndexes() )[i] << " ";
65 }
66 return stream;
67}
68
69ostream& operator<<( ostream& stream, const BesTruthTrack* track ) {
70 stream << *track;
71 return stream;
72}
ostream & operator<<(ostream &stream, const BesTruthTrack &track)