All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimDriftedElectronCluster.h
Go to the documentation of this file.
1 //vim: set sw=2 expandtab:
2 ////////////////////////////////////////////////////////////////////////
3 /// \file lardataobj/Simulation/SimDriftedElectronCluster.h
4 /// \brief contains objects relating to SimDriftedElectronCluster
5 ////////////////////////////////////////////////////////////////////////
6 
7 #ifndef SimDriftedElectronCluster_h
8 #define SimDriftedElectronCluster_h
9 
10 // LArSoft includes
11 // Define the LArSoft standard geometry types and methods.
13 
14 // C++ includes
15 #include <iostream>
16 
17 namespace sim
18 {
19 
20  // This structure contains all the information per simulated cluster of drifted electrons towards the anode.
21 
23  {
24  private:
25  using Length_t = double;
28 
29  public:
30 
31  SimDriftedElectronCluster() = default;
32 
34  double t,
35  StoredPoint_t start,
37  StoredPoint_t width,
38  float e,
39  int id)
40  : fNumberOfElectrons(ne)
41  , fTime(t)
42  , fInitialPosition(start)
43  , fFinalPosition(end)
44  , fClusterWidth(width)
45  , fEnergy(e)
46  , fMotherTrackID(id)
47  {}
48 
49  int NumberOfElectrons() const { return fNumberOfElectrons; }
50  double Time() const { return fTime; }
54  float Energy() const { return fEnergy; }
55  int TrackID() const { return fMotherTrackID; }
56 
60 
61  private:
62 
63  int fNumberOfElectrons; //< of ionization electrons
64  double fTime; //< (ns)
65  StoredPoint_t fInitialPosition; //< positions in (cm)
68  float fEnergy; //< energy deposition (MeV)
69  int fMotherTrackID; //< simulation track id
70  };
71 
72 } // namespace sim
73 #endif // SimDriftedElectronCluster_n
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:164
double Length_t
Type used for coordinates and distances. They are measured in centimeters.
Definition: geo_vectors.h:137
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< T >, C > GenPoint3DBase_t
Definition: geo_vectors.h:82
Definitions of geometry vector data types.
auto end(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:585
SimDriftedElectronCluster(int ne, double t, StoredPoint_t start, StoredPoint_t end, StoredPoint_t width, float e, int id)
geo::GenPoint3DBase_t< double > StoredPoint_t
do i e
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
geo::GenVector3DBase_t< double > StoredVector_t
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< T >, C > GenVector3DBase_t
Definition: geo_vectors.h:75