ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace Genfun {
19 class AbsFunction;
20}
21
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:
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
const Genfun::AbsFunction * m_pz
Definition GeoXPEngine.h:60
const Genfun::AbsFunction * m_z
Definition GeoXPEngine.h:57
const Genfun::AbsFunction * m_y
Definition GeoXPEngine.h:56
GeoXPEngine(const Genfun::AbsFunction &Bx, const Genfun::AbsFunction &By, const Genfun::AbsFunction &Bz, const HepGeom::Point3D< double > &x0, const CLHEP::HepLorentzVector &p0, double q)
const Genfun::AbsFunction & px() const
const Genfun::AbsFunction & py() const
const Genfun::AbsFunction * m_py
Definition GeoXPEngine.h:59
const Genfun::AbsFunction & pz() const
const Genfun::AbsFunction & y() const
const Genfun::AbsFunction * m_x
Definition GeoXPEngine.h:55
const Genfun::AbsFunction & z() const
const Genfun::AbsFunction * m_px
Definition GeoXPEngine.h:58
const Genfun::AbsFunction & x() const