33#include <TLorentzVector.h>
39#include "Framework/EventGen/GeomAnalyzerI.h"
40#include "Framework/EventGen/PathLengthList.h"
41#include "Framework/ParticleData/PDGCodeList.h"
47class IGeometryService;
74 std::string
const& top_volume,
G4Teardown teardown);
89 return max_path_lengths_;
103 TLorentzVector
const& x, TLorentzVector
const& p)
override;
105 TLorentzVector
const& p,
int tgtpdg)
override;
109 std::unique_ptr<Impl> impl_;
112 void init(std::shared_ptr<ship::IGeometryService> geometry,
113 std::string
const& top_volume);
114 static void teardown_geant4(Impl& impl);
116 genie::GFluxI* scanner_flux_ =
nullptr;
117 int scanner_particles_ = 10000;
118 double safety_factor_ = 1.1;
120 genie::PDGCodeList targets_;
121 genie::PathLengthList path_lengths_;
122 genie::PathLengthList max_path_lengths_;
Definition ship_geom_analyzer.hpp:52
ShipGeomAnalyzer(ShipGeomAnalyzer const &)=delete
genie::PDGCodeList const & ListOfTargetNuclei() override
Definition ship_geom_analyzer.hpp:100
void SetMaxPlSafetyFactor(double sf)
Definition ship_geom_analyzer.hpp:87
~ShipGeomAnalyzer() override
Definition ship_geom_analyzer.cpp:234
void SetScannerFlux(genie::GFluxI *flux)
Definition ship_geom_analyzer.hpp:85
Extents const & extents() const
Definition ship_geom_analyzer.hpp:97
void SetScannerNParticles(int n)
Definition ship_geom_analyzer.hpp:86
G4Teardown
Definition ship_geom_analyzer.hpp:54
genie::PathLengthList const & ComputeMaxPathLengths() override
Definition ship_geom_analyzer.cpp:264
TVector3 const & GenerateVertex(TLorentzVector const &x, TLorentzVector const &p, int tgtpdg) override
Definition ship_geom_analyzer.cpp:293
ShipGeomAnalyzer & operator=(ShipGeomAnalyzer const &)=delete
ShipGeomAnalyzer & operator=(ShipGeomAnalyzer &&)=delete
genie::PathLengthList const & ComputePathLengths(TLorentzVector const &x, TLorentzVector const &p) override
Definition ship_geom_analyzer.cpp:238
genie::PathLengthList const & GetMaxPathLengths() const
Definition ship_geom_analyzer.hpp:88
ShipGeomAnalyzer(ShipGeomAnalyzer &&)=delete
Definition genie_config.hpp:22
Definition genie_driver_setup.hpp:26
Definition ship_geom_analyzer.hpp:46
Definition ship_geom_analyzer.hpp:94
TVector3 hi
Definition ship_geom_analyzer.hpp:95
TVector3 lo
Definition ship_geom_analyzer.hpp:95