HerdSoftware  0.1.1
MCInteraction.h
Go to the documentation of this file.
1 /*
2  * MCInteraction.h
3  *
4  * Created on: 21 May 2019
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_MCINTERACTION_H_
9 #define HERD_MCINTERACTION_H_
10 
11 #ifdef HS_USE_ROOT
12 #include "Rtypes.h"
13 #endif
14 
15 #include "common/DefaultValues.h"
16 #include "dataobjects/MCParticle.h"
17 #include "dataobjects/Momentum.h"
18 #include "dataobjects/Point.h"
19 
20 namespace Herd {
21 
26 public:
29 
31  virtual ~MCInteraction() = default;
32 
34  std::string processName;
35  std::string volumeName;
36 
37  const std::vector<MCParticle> &Products() const { return m_products; }
38 
39  void AddProduct(MCParticle &&part) { m_products.push_back(part); }
40 
41 private:
42  std::vector<MCParticle> m_products;
43 
44 #ifdef HS_USE_ROOT
45  ClassDef(MCInteraction, 2)
46 #endif
47 };
48 
49 } // namespace Herd
50 
51 #endif /* HERD_MCINTERACTION_H_ */
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
void AddProduct(MCParticle &&part)
Definition: MCInteraction.h:39
const std::vector< MCParticle > & Products() const
Definition: MCInteraction.h:37
#define DEFAULT_INIT(x)
Definition: DefaultValues.h:23
MCInteraction()
Default constructor.
Definition: MCInteraction.h:28
std::vector< MCParticle > m_products
interaction products
Definition: MCInteraction.h:42
std::string processName
Name of the process.
Definition: MCInteraction.h:34
std::string volumeName
volume name where the interaction occurred
Definition: MCInteraction.h:35
A class describing a vector in 3D space.
Definition: Vec3D.h:33
virtual ~MCInteraction()=default
Virtual destructor.
Description of a Monte Carlo particle.
Definition: MCParticle.h:30
Point intPosition
Interaction point.
Definition: MCInteraction.h:33
Description of a Monte Carlo Interaction.
Definition: MCInteraction.h:25