InteractionChainData.h
Go to the documentation of this file.
1 #ifndef INTERACTIONCHAINDATA_H
2 #define INTERACTIONCHAINDATA_H
3 
4 #include "InteractionData.h"
5 #include "TargetData.h"
7 #include <vector>
8 #include "nu_g4numi.h"
9 #include "dk2nu/tree/dk2nu.h"
10 #include "dk2nu/tree/dkmeta.h"
11 #include <iostream>
12 
13 namespace NeutrinoFluxReweight{
14 
15  /*! \class InteractionChainData
16  * \brief Information about the chain of interactions leading to a neutrino
17  */
18 
20  public:
21 
22  //! boring old default constructor
24 
25  /*! create an interaction chain from the old g4numi nudata structure
26  * tgtcfg specified the target configuration. Example: le010z
27  * horncfg specifies the horn configuration. Example: 185i
28  */
30  const char* tgtcfg,
31  const char* horncfg);
32 
33  //! create an interaction chain from the new dk2nu format
34  InteractionChainData(bsim::Dk2Nu* nu, bsim::DkMeta* meta);
35 
36 
37  //! vector of neutrino ancestors
38  std::vector<InteractionData> interaction_chain;
39 
40  //! Information about the hadron which exited the target
42 
43  //! Information about all particles that pass through volumes without interacting
44  std::vector<ParticlesThroughVolumesData> ptv_info;
45 
46  //! The target configuration. Example: le010z
48 
49  //! The horn configuration. Example: 185i
51 
52  //! The tgt playlist (exact position of the target after survey)
53  int playlist;
54 
55  std::ostream& print(std::ostream& os=std::cout) const;
56 
57  private:
58  bool is_fast_decay(int pdg);
59 
60  };
61 
62 
63 }
64 #endif
std::string string
Definition: nybbler.cc:12
Information about the chain of interactions leading to a neutrino.
std::ostream & print(std::ostream &os=std::cout) const
std::vector< InteractionData > interaction_chain
vector of neutrino ancestors
InteractionChainData()
boring old default constructor
std::vector< ParticlesThroughVolumesData > ptv_info
Information about all particles that pass through volumes without interacting.
std::string horn_config
The horn configuration. Example: 185i.
std::string target_config
The target configuration. Example: le010z.
int playlist
The tgt playlist (exact position of the target after survey)
The information about the hadron that exits the target.
Definition: TargetData.h:12
TargetData tar_info
Information about the hadron which exited the target.