NAIA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
MCTruth.cpp
Go to the documentation of this file.
1 #include "fmt/format.h"
2 #include <bitset>
3 
4 #include "Containers/MCTruth.h"
5 
6 namespace NAIA {
7 const std::string MCTruthBase::BranchName = "MCTruthBaseData";
8 const std::string MCTruthPlus::BranchName = "MCTruthPlusData";
9 
11 
12 void MCTruthBaseData::Dump() const {
13  fmt::print("{:=^120} \n", " MCTruthBaseData ");
14 
15  fmt::print("{:<32}\n", "Primary particle");
16  fmt::print(" - {:<20} {:>15} {:>15} {:>15} {:>15} {:>20}\n", "", "Z", "A", "PDG", "Gen. Momentum",
17  "Gen. Position");
18  fmt::print(" - {:<20} {:>15} {:>15} {:>15} {:>15.3f} ({:4.2f},{:4.2f},{:4.2f})\n", "", Primary.Z, Primary.A,
20  fmt::print("{:-^120}\n", "");
21 }
22 
23 void MCTruthPlusData::Dump() const {
24  fmt::print("{:=^120} \n", " MCTruthPlus ");
25 
26  fmt::print("{:<32}\n", "Secondary particles");
27  fmt::print(" - {:<20} {:>15} {:>15} {:>15} {:>15} {:>15} {:>20}\n", "", "Z", "A", "PDG", "ID (parent)", "Gen. Momentum",
28  "Gen. Position");
29  for (const auto &sec : Secondaries) {
30  fmt::print(" {:<20} {:>15} {:>15} {:>15} {:>15} {:>15.3f} ({:4.2f},{:4.2f},{:4.2f})\n", "", sec.Z, sec.A, sec.PDGCode,
31  fmt::format("{} ({})", sec.partID, sec.parentID), sec.GetGenMomentum(), sec.Coo[0], sec.Coo[1], sec.Coo[2]);
32  }
33  fmt::print("{:-^120}\n", "");
34 }
35 
37  Secondaries.clear();
38  TrackMCHits.clear();
39 }
40 } // namespace NAIA
int Z
particle charge
Definition: MCTruth.h:33
void Dump() const
Dump on screen container content.
Definition: MCTruth.cpp:12
int A
particle mass number
Definition: MCTruth.h:34
static const std::string BranchName
Definition: MCTruth.h:157
void Clear()
Clear container content.
Definition: MCTruth.cpp:36
MCParticle Primary
primary particle
Definition: MCTruth.h:83
TVector3 Coo
generation position
Definition: MCTruth.h:35
double GetGenMomentum() const
Get the particle generation momentum.
Definition: MCTruth.h:49
void Clear()
Clear container content.
Definition: MCTruth.cpp:10
void Dump() const
Dump on screen container content.
Definition: MCTruth.cpp:23
std::vector< MCParticle > Secondaries
list of particles created by interaction of the primary particle
Definition: MCTruth.h:125
MCTruth container class description.
Simple struct to describe a MC particle.
Definition: MCTruth.h:31
LayerVariable< TrMCHit > TrackMCHits
MC hits of the primary particle on tracker layers.
Definition: MCTruth.h:126
static const std::string BranchName
Definition: MCTruth.h:142
int PDGCode
particle PDG code
Definition: MCTruth.h:32