ATLAS Offline Software
GeoXPEngine.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //---------------------------------------------------------------------------//
6 // //
7 // class GeoXPEngine //
8 // //
9 // This class does a Runge-Kutta integration of a particle in a magnetic //
10 // field, without any slowing due to interactions with matter. //
11 // --------------------------------------------------------------------------//
12 
13 #ifndef LARG4VALIDATION_GEOXPENGINE_H
14 #define LARG4VALIDATION_GEOXPENGINE_H
15 #include <CLHEP/Geometry/Point3D.h>
16 #include <CLHEP/Vector/LorentzVector.h>
17 
18 namespace Genfun {
19  class AbsFunction;
20 }
21 
22 class GeoXPEngine {
23 
24  public:
25 
26  // Constructor:
27  GeoXPEngine( const Genfun::AbsFunction & Bx,
28  const Genfun::AbsFunction & By,
29  const Genfun::AbsFunction & Bz,
30  const HepGeom::Point3D<double> & x0,
31  const CLHEP::HepLorentzVector & p0,
32  double q);
33 
34  // Destructor:
35  ~GeoXPEngine();
36 
37  // Get the parameterized paths through the phase space. The
38  // parameter of the path is: time (in standard units). When any
39  // one of these is accessed, the path through the phase space is
40  // integrated up to the specified time; then, if another one is
41  // is accessed at or before that time, the calculation is not repeated
42  // but either accessed (if times are equal) or interpolated (if time
43  // is inferior to maximimum integration time).
44 
45  const Genfun::AbsFunction & x() const;
46  const Genfun::AbsFunction & y() const;
47  const Genfun::AbsFunction & z() const;
48  const Genfun::AbsFunction & px() const;
49  const Genfun::AbsFunction & py() const;
50  const Genfun::AbsFunction & pz() const;
51 
52  private:
53 
54  // Outputs:
55  const Genfun::AbsFunction *m_x;
56  const Genfun::AbsFunction *m_y;
57  const Genfun::AbsFunction *m_z;
58  const Genfun::AbsFunction *m_px;
59  const Genfun::AbsFunction *m_py;
60  const Genfun::AbsFunction *m_pz;
61 
62 };
63 
64 #endif
65 
GeoXPEngine::~GeoXPEngine
~GeoXPEngine()
Definition: GeoXPEngine.cxx:74
GeoXPEngine::m_pz
const Genfun::AbsFunction * m_pz
Definition: GeoXPEngine.h:60
GeoXPEngine::m_y
const Genfun::AbsFunction * m_y
Definition: GeoXPEngine.h:56
GeoXPEngine::py
const Genfun::AbsFunction & py() const
Definition: GeoXPEngine.cxx:95
GeoXPEngine::pz
const Genfun::AbsFunction & pz() const
Definition: GeoXPEngine.cxx:98
GeoXPEngine::z
const Genfun::AbsFunction & z() const
Definition: GeoXPEngine.cxx:89
GeoXPEngine::GeoXPEngine
GeoXPEngine(const Genfun::AbsFunction &Bx, const Genfun::AbsFunction &By, const Genfun::AbsFunction &Bz, const HepGeom::Point3D< double > &x0, const CLHEP::HepLorentzVector &p0, double q)
Definition: GeoXPEngine.cxx:14
GeoXPEngine::y
const Genfun::AbsFunction & y() const
Definition: GeoXPEngine.cxx:86
GeoXPEngine::px
const Genfun::AbsFunction & px() const
Definition: GeoXPEngine.cxx:92
GeoXPEngine::x
const Genfun::AbsFunction & x() const
Definition: GeoXPEngine.cxx:83
GeoXPEngine
Definition: GeoXPEngine.h:22
GeoXPEngine::m_px
const Genfun::AbsFunction * m_px
Definition: GeoXPEngine.h:58
GeoXPEngine::m_x
const Genfun::AbsFunction * m_x
Definition: GeoXPEngine.h:55
GeoXPEngine::m_py
const Genfun::AbsFunction * m_py
Definition: GeoXPEngine.h:59
extractSporadic.q
list q
Definition: extractSporadic.py:98
GeoXPEngine::m_z
const Genfun::AbsFunction * m_z
Definition: GeoXPEngine.h:57
Genfun
Definition: AtlasBComponent.cxx:12