#include <FlashHypothesisCreator.h>
|
| FlashHypothesisCreator () |
|
FlashHypothesisCollection | GetFlashHypothesisCollection (recob::Track const &track, std::vector< float > const &dEdxVector, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset=0) |
|
FlashHypothesisCollection | GetFlashHypothesisCollection (sim::MCTrack const &mctrack, std::vector< float > const &dEdxVector, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset=0) |
|
FlashHypothesisCollection | GetFlashHypothesisCollection (std::vector< TVector3 > const &trajVector, std::vector< float > const &dEdxVector, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset=0) |
|
FlashHypothesisCollection | GetFlashHypothesisCollection (TVector3 const &pt1, TVector3 const &pt2, float const &dEdx, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset=0) |
|
Definition at line 31 of file FlashHypothesisCreator.h.
opdet::FlashHypothesisCreator::FlashHypothesisCreator |
( |
| ) |
|
|
inline |
Definition at line 123 of file FlashHypothesisCreator.cxx.
132 auto const nOpDets = geom->NOpDets();
133 FlashHypothesisCollection fhc(nOpDets);
135 FlashHypothesis prompt_hyp = FlashHypothesis(nOpDets);
140 auto const& PointVisibility = pvs.GetAllVisibilities(&xyz_segment[0]);
143 if (!PointVisibility)
return fhc;
146 std::vector<float> qe_vector(nOpDets,opdigip.QE());
154 fhc.SetPromptHypAndPromptFraction(prompt_hyp,larp->ScintYieldRatio());
void FillFlashHypothesis(const float &yield, const float &dEdx, const TVector3 &pt1, const TVector3 &pt2, const std::vector< float > &qe_vector, phot::MappedCounts_t const &vis_vector, FlashHypothesis &hyp)
FlashHypothesisCalculator _calc
double dEdx(float dqdx, float Efield)
Description of geometry of one entire detector.
std::vector< double > SegmentMidpoint(const TVector3 &pt1, const TVector3 &pt2, float XOffset=0)
Title: FlashHypothesis Creator Class Author: Wes Ketchum (wketc.nosp@m.hum@.nosp@m.lanl..nosp@m.gov)
Description: Class that produces a flash hypothesis for a trajectory. Input: Trajectory (std::vector<TVector3> objects) Output: FlashHypotheses
Definition at line 13 of file FlashHypothesisCreator.cxx.
20 bool interpolate_dEdx=
false;
21 if(track.NumberTrajectoryPoints() == dEdxVector.size())
22 interpolate_dEdx=
true;
23 else if(track.NumberTrajectoryPoints() == dEdxVector.size()+1)
24 interpolate_dEdx=
false;
26 throw "ERROR in FlashHypothesisCreator: dEdx vector size not compatible with track size.";
29 FlashHypothesisCollection fhc(geom->NOpDets());
30 for(
size_t pt=1; pt<track.NumberTrajectoryPoints(); pt++){
33 track.LocationAtPoint<TVector3>(pt),
34 0.5*(dEdxVector[pt]+dEdxVector[pt-1]),
35 providers,pvs,opdigip,XOffset);
38 track.LocationAtPoint<TVector3>(pt),
40 providers,pvs,opdigip,XOffset);
Description of geometry of one entire detector.
FlashHypothesisCollection CreateFlashHypothesesFromSegment(TVector3 const &pt1, TVector3 const &pt2, float const &dEdx, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset)
Definition at line 46 of file FlashHypothesisCreator.cxx.
53 bool interpolate_dEdx=
false;
54 if(mctrack.size() == dEdxVector.size())
55 interpolate_dEdx=
true;
56 else if(mctrack.size() == dEdxVector.size()+1)
57 interpolate_dEdx=
false;
59 throw "ERROR in FlashHypothesisCreator: dEdx vector size not compatible with mctrack size.";
62 FlashHypothesisCollection fhc(geom->NOpDets());
63 for(
size_t pt=1; pt<mctrack.size(); pt++){
66 mctrack[pt].Position().Vect(),
67 0.5*(dEdxVector[pt]+dEdxVector[pt-1]),
68 providers,pvs,opdigip,XOffset);
71 mctrack[pt].Position().Vect(),
73 providers,pvs,opdigip,XOffset);
Description of geometry of one entire detector.
FlashHypothesisCollection CreateFlashHypothesesFromSegment(TVector3 const &pt1, TVector3 const &pt2, float const &dEdx, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset)
Definition at line 79 of file FlashHypothesisCreator.cxx.
86 bool interpolate_dEdx=
false;
87 if(trajVector.size() == dEdxVector.size())
88 interpolate_dEdx=
true;
89 else if(trajVector.size() == dEdxVector.size()+1)
90 interpolate_dEdx=
false;
92 throw "ERROR in FlashHypothesisCreator: dEdx vector size not compatible with trajVector size.";
95 FlashHypothesisCollection fhc(geom->NOpDets());
96 for(
size_t pt=1; pt<trajVector.size(); pt++){
100 0.5*(dEdxVector[pt]+dEdxVector[pt-1]),
101 providers,pvs,opdigip,XOffset);
106 providers,pvs,opdigip,XOffset);
Description of geometry of one entire detector.
FlashHypothesisCollection CreateFlashHypothesesFromSegment(TVector3 const &pt1, TVector3 const &pt2, float const &dEdx, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset)
Definition at line 112 of file FlashHypothesisCreator.cxx.
double dEdx(float dqdx, float Efield)
FlashHypothesisCollection CreateFlashHypothesesFromSegment(TVector3 const &pt1, TVector3 const &pt2, float const &dEdx, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &opdigip, float XOffset)
The documentation for this class was generated from the following files: