LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
opdet::FlashHypothesisCalculator Class Reference

#include "FlashHypothesisCalculator.h"

Public Member Functions

 FlashHypothesisCalculator ()
 
std::vector< double > SegmentMidpoint (const TVector3 &pt1, const TVector3 &pt2, float XOffset=0)
 
void FillFlashHypothesis (const float &yield, const float &dEdx, const TVector3 &pt1, const TVector3 &pt2, const std::vector< float > &qe_vector, const float *vis_vector, FlashHypothesis &hyp)
 

Detailed Description

Definition at line 19 of file FlashHypothesisCalculator.h.

Constructor & Destructor Documentation

opdet::FlashHypothesisCalculator::FlashHypothesisCalculator ( )
inline

Definition at line 23 of file FlashHypothesisCalculator.h.

References FillFlashHypothesis(), and SegmentMidpoint().

23 {}

Member Function Documentation

void opdet::FlashHypothesisCalculator::FillFlashHypothesis ( const float &  yield,
const float &  dEdx,
const TVector3 &  pt1,
const TVector3 &  pt2,
const std::vector< float > &  qe_vector,
const float *  vis_vector,
FlashHypothesis hyp 
)

Definition at line 15 of file FlashHypothesisCalculator.cxx.

References opdet::FlashHypothesis::GetVectorSize(), and opdet::FlashHypothesis::SetHypothesisAndError().

Referenced by opdet::FlashHypothesisCreator::CreateFlashHypothesesFromSegment(), and FlashHypothesisCalculator().

22 {
23 
24  if(qe_vector.size()!=hyp.GetVectorSize() || !vis_vector)
25  throw std::runtime_error("ERROR in FlashHypothesisCalculator: vector sizes not equal!");
26 
27  const float total_yield = yield*dEdx*(pt2-pt1).Mag();
28 
29  for(size_t i_chan=0; i_chan<hyp.GetVectorSize(); i_chan++)
30  hyp.SetHypothesisAndError(i_chan,total_yield*vis_vector[i_chan]*qe_vector[i_chan]);
31 
32 }
std::vector< double > opdet::FlashHypothesisCalculator::SegmentMidpoint ( const TVector3 &  pt1,
const TVector3 &  pt2,
float  XOffset = 0 
)

Definition at line 6 of file FlashHypothesisCalculator.cxx.

Referenced by opdet::FlashHypothesisCreator::CreateFlashHypothesesFromSegment(), and FlashHypothesisCalculator().

7 {
8  std::vector<double> xyz_segment(3);
9  xyz_segment[0] = 0.5*(pt2.x()+pt1.x()) + XOffset;
10  xyz_segment[1] = 0.5*(pt2.y()+pt1.y());
11  xyz_segment[2] = 0.5*(pt2.z()+pt1.z());
12  return xyz_segment;
13 }

The documentation for this class was generated from the following files: