PunchThroughParticle Node1 PunchThroughParticle - m_pdgId - m_doAnti - m_minEnergy - m_maxNum - m_numParticlesFactor - m_energyFactor - m_posAngleFactor - m_momAngleFactor - m_corrPdg - m_corrMinEnergy - m_corrFullEnergy - m_histCorrLowE - m_histCorrHighE - m_corrHistDomains + PunchThroughParticle() + ~PunchThroughParticle() + setMinEnergy() + setMaxNumParticles() + setNumParticlesFactor() + setEnergyFactor() + setPosAngleFactor() + setMomAngleFactor() + setNumParticlesPDF() + setCorrelation() and 25 more... Node2 std::unique_ptr< PunchThrough PDFCreator >   + operator->() Node2->Node1 -m_pdfNumParticles -m_pdf_pca0 -m_pdf_pca1 -m_pdf_pca2 -m_pdf_pca3 -m_pdf_pca4 Node3 PunchThroughPDFCreator   + PunchThroughPDFCreator() + ~PunchThroughPDFCreator() + setName() + addToEnergyEtaHist1DMap() + getRand() + getName() Node3->Node2 +ptr Node4 std::string     Node4->Node3 -m_name Node5 std::basic_string< Char >     Node5->Node4 Node6 std::map< int, std ::map< int, TH1 * > > + keys + elements   Node6->Node3 -m_energy_eta_hists1D