ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4Validation
src
GeoXPEngine.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 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
#include <memory>
18
19
namespace
Genfun
{
20
class
AbsFunction;
21
}
22
23
class
GeoXPEngine
{
24
25
public
:
26
27
// Constructor:
28
GeoXPEngine
(
const
Genfun::AbsFunction & Bx,
29
const
Genfun::AbsFunction & By,
30
const
Genfun::AbsFunction & Bz,
31
const
HepGeom::Point3D<double> & x0,
32
const
CLHEP::HepLorentzVector & p0,
33
double
q);
34
35
// Destructor:
36
~GeoXPEngine
();
37
38
// Get the parameterized paths through the phase space. The
39
// parameter of the path is: time (in standard units). When any
40
// one of these is accessed, the path through the phase space is
41
// integrated up to the specified time; then, if another one is
42
// is accessed at or before that time, the calculation is not repeated
43
// but either accessed (if times are equal) or interpolated (if time
44
// is inferior to maximimum integration time).
45
46
const
Genfun::AbsFunction &
x
()
const
;
47
const
Genfun::AbsFunction &
y
()
const
;
48
const
Genfun::AbsFunction &
z
()
const
;
49
const
Genfun::AbsFunction &
px
()
const
;
50
const
Genfun::AbsFunction &
py
()
const
;
51
const
Genfun::AbsFunction &
pz
()
const
;
52
53
private
:
54
55
// Outputs:
56
std::unique_ptr<const Genfun::AbsFunction>
m_x
;
57
std::unique_ptr<const Genfun::AbsFunction>
m_y
;
58
std::unique_ptr<const Genfun::AbsFunction>
m_z
;
59
std::unique_ptr<const Genfun::AbsFunction>
m_px
;
60
std::unique_ptr<const Genfun::AbsFunction>
m_py
;
61
std::unique_ptr<const Genfun::AbsFunction>
m_pz
;
62
63
};
64
65
#endif
66
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::px
const Genfun::AbsFunction & px() const
Definition
GeoXPEngine.cxx:86
GeoXPEngine::m_py
std::unique_ptr< const Genfun::AbsFunction > m_py
Definition
GeoXPEngine.h:60
GeoXPEngine::py
const Genfun::AbsFunction & py() const
Definition
GeoXPEngine.cxx:89
GeoXPEngine::pz
const Genfun::AbsFunction & pz() const
Definition
GeoXPEngine.cxx:92
GeoXPEngine::y
const Genfun::AbsFunction & y() const
Definition
GeoXPEngine.cxx:80
GeoXPEngine::m_x
std::unique_ptr< const Genfun::AbsFunction > m_x
Definition
GeoXPEngine.h:56
GeoXPEngine::m_z
std::unique_ptr< const Genfun::AbsFunction > m_z
Definition
GeoXPEngine.h:58
GeoXPEngine::m_pz
std::unique_ptr< const Genfun::AbsFunction > m_pz
Definition
GeoXPEngine.h:61
GeoXPEngine::z
const Genfun::AbsFunction & z() const
Definition
GeoXPEngine.cxx:83
GeoXPEngine::m_y
std::unique_ptr< const Genfun::AbsFunction > m_y
Definition
GeoXPEngine.h:57
GeoXPEngine::m_px
std::unique_ptr< const Genfun::AbsFunction > m_px
Definition
GeoXPEngine.h:59
GeoXPEngine::~GeoXPEngine
~GeoXPEngine()
Definition
GeoXPEngine.cxx:74
GeoXPEngine::x
const Genfun::AbsFunction & x() const
Definition
GeoXPEngine.cxx:77
Genfun
Definition
AtlasBComponent.cxx:12
Generated on
for ATLAS Offline Software by
1.17.0