All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EmptyKaonGen_tool.cc
Go to the documentation of this file.
1 /**
2  *
3  */
4 
5 // Framework Includes
6 #include "art/Framework/Core/EDProducer.h"
7 #include "art/Framework/Principal/Event.h"
8 #include "art/Framework/Principal/Handle.h"
9 #include "art/Framework/Services/Registry/ServiceHandle.h"
10 #include "art/Persistency/Common/PtrMaker.h"
11 #include "art/Utilities/ToolMacros.h"
12 #include "cetlib/cpu_timer.h"
13 #include "fhiclcpp/ParameterSet.h"
14 #include "messagefacility/MessageLogger/MessageLogger.h"
15 
16 #include "nugen/EventGeneratorBase/GENIE/EvtTimeShiftFactory.h"
17 #include "nugen/EventGeneratorBase/GENIE/EvtTimeShiftI.h"
18 #include "nusimdata/SimulationBase/MCFlux.h"
19 
20 // local includes
21 #include "IMesonGen.h"
23 
24 // LArSoft includes
25 #include "dk2nu/tree/dk2nu.h"
26 #include "dk2nu/tree/dkmeta.h"
27 #include "dk2nu/tree/NuChoice.h"
28 
29 // ROOT
30 #include "TVector3.h"
31 
32 // std includes
33 #include <string>
34 #include <iostream>
35 #include <memory>
36 
37 //------------------------------------------------------------------------------------------------------------------------------------------
38 // implementation follows
39 
40 namespace evgen {
41 namespace ldm {
42 /**
43  * @brief EmptyKaonGen class definiton
44  */
45 class EmptyKaonGen : public IMesonGen
46 {
47 public:
48  /**
49  * @brief Constructor
50  */
51  EmptyKaonGen(fhicl::ParameterSet const &pset);
52 
53  /**
54  * @brief Destructor
55  */
56  ~EmptyKaonGen();
57 
58  simb::MCFlux GetNext() override;
59  void configure(const fhicl::ParameterSet&) override;
60 
61  // no POT
62  double GetPOT() override { return 0.; }
63 
64  // no weights
65  double MaxWeight() override { return -1.; }
66 };
67 
68 EmptyKaonGen::EmptyKaonGen(fhicl::ParameterSet const &pset):
69  IMeVPrtlStage("EmptyKaonGen")
70 {}
71 
72 //------------------------------------------------------------------------------------------------------------------------------------------
73 
75 
76 //------------------------------------------------------------------------------------------------------------------------------------------
77 void EmptyKaonGen::configure(fhicl::ParameterSet const &pset) {}
78 
79 simb::MCFlux EmptyKaonGen::GetNext() {
80  simb::MCFlux flux;
81  return flux;
82 }
83 
84 DEFINE_ART_CLASS_TOOL(EmptyKaonGen)
85 
86 } // namespace ldm
87 } // namespace evgen
void configure(const fhicl::ParameterSet &) override
Interface for configuring the particular algorithm tool.
double MaxWeight() override
EmptyKaonGen class definiton.
IMesonGen interface class definiton.
Definition: IMesonGen.h:31
This is an interface for an art Tool which sources MCFlux objects for downstream processing and tabul...
simb::MCFlux GetNext() override
IMeVPrtlStage interface class definiton. General interface behind each stage. Provides random number ...
Definition: IMeVPrtlStage.h:36
EmptyKaonGen(fhicl::ParameterSet const &pset)
Constructor.