All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IMeVPrtlDecay.h
Go to the documentation of this file.
1 /**
2  * @file IMeVPrtlDecay.h
3  *
4  * @brief This is an interface for an art Tool which decays "Prtl" inside a
5  * detector volume. It maps MeVPrtlFlux to MeVPrtlDecay.
6  *
7  * @author grayputnam@uchicago.edu
8  *
9  */
10 #ifndef IMeVPrtlDecay_h
11 #define IMeVPrtlDecay_h
12 
13 // Framework Includes
14 #include "fhiclcpp/ParameterSet.h"
15 #include "art/Framework/Principal/Event.h"
16 
19 
20 #include "IMeVPrtlStage.h"
21 #include "Constants.h"
22 
23 // Algorithm includes
24 
25 #include <utility>
26 
27 //------------------------------------------------------------------------------------------------------------------------------------------
28 
29 namespace evgen
30 {
31 namespace ldm {
32 
33 /**
34  * @brief IMeVPrtlDecay interface class definiton
35  */
36 class IMeVPrtlDecay: virtual public IMeVPrtlStage
37 {
38 public:
39  /**
40  * @brief Virtual Destructor
41  */
42  virtual ~IMeVPrtlDecay() noexcept = default;
43 
44  virtual bool Decay(const MeVPrtlFlux &flux, const TVector3 &in, const TVector3 &out, MeVPrtlDecay &decay, double &weight) = 0;
45 
46 protected:
47  double TimeOfFlight(const MeVPrtlFlux &flux, TVector3 decay) {
48  // TODO: should the neutrino TOF be subtracted here to get the correct T0?
49  //
50  // TODO: implement time of flight
51  return 0.;
52  }
53 };
54 
55 } // namespace ldm
56 } // namespace evgen
57 #endif
58 
virtual ~IMeVPrtlDecay() noexcept=default
Virtual Destructor.
IMeVPrtlDecay interface class definiton.
Definition: IMeVPrtlDecay.h:36
IMeVPrtlStage interface class definiton. General interface behind each stage. Provides random number ...
Definition: IMeVPrtlStage.h:36
virtual bool Decay(const MeVPrtlFlux &flux, const TVector3 &in, const TVector3 &out, MeVPrtlDecay &decay, double &weight)=0
This provides an art tool interface definition for tools which can create fake particles to overlay o...
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
double TimeOfFlight(const MeVPrtlFlux &flux, TVector3 decay)
Definition: IMeVPrtlDecay.h:47