LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SimDriftedElectronCluster.h
Go to the documentation of this file.
1 //vim: set sw=2 expandtab:
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  // This structure contains all the information per simulated cluster of drifted electrons towards the anode.
20 
22  private:
23  using Length_t = double;
26 
27  public:
28  SimDriftedElectronCluster() = default;
29 
31  double t,
32  StoredPoint_t start,
34  StoredPoint_t width,
35  float e,
36  int id)
37  : fNumberOfElectrons(ne)
38  , fTime(t)
39  , fInitialPosition(start)
40  , fFinalPosition(end)
41  , fClusterWidth(width)
42  , fEnergy(e)
43  , fMotherTrackID(id)
44  {}
45 
46  int NumberOfElectrons() const { return fNumberOfElectrons; }
47  double Time() const { return fTime; }
51  float Energy() const { return fEnergy; }
52  int TrackID() const { return fMotherTrackID; }
53 
57 
58  private:
59  int fNumberOfElectrons; //< of ionization electrons
60  double fTime; //< (ns)
61  StoredPoint_t fInitialPosition; //< positions in (cm)
64  float fEnergy; //< energy deposition (MeV)
65  int fMotherTrackID; //< simulation track id
66  };
67 
68 } // namespace sim
69 #endif // SimDriftedElectronCluster_n
double Length_t
Type used for coordinates and distances. They are measured in centimeters.
Definition: geo_vectors.h:133
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:160
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< T >, C > GenPoint3DBase_t
Definition: geo_vectors.h:78
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
Definition: StdUtils.h:77
Definitions of geometry vector data types.
SimDriftedElectronCluster(int ne, double t, StoredPoint_t start, StoredPoint_t end, StoredPoint_t width, float e, int id)
geo::GenPoint3DBase_t< double > StoredPoint_t
Monte Carlo Simulation.
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:180
Float_t e
Definition: plot.C:35
geo::GenVector3DBase_t< double > StoredVector_t
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< T >, C > GenVector3DBase_t
Definition: geo_vectors.h:72