The Gaudi Framework
master (d98a2936)
IMagneticFieldSvc.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
#include <
GaudiKernel/IService.h
>
14
#include <
GaudiKernel/StatusCode.h
>
15
16
namespace
ROOT
{
17
namespace
Math {
18
class
DefaultCoordinateSystemTag;
19
20
// from Math/Point3Dfwd.h
21
template
<
class
CoordSystem,
class
Tag>
22
class
PositionVector3D
;
23
// from Math/Vector3Dfwd.h
24
template
<
class
CoordSystem,
class
Tag>
25
class
DisplacementVector3D
;
26
// from Math/Point3Dfwd.h
27
template
<
typename
T>
28
class
Cartesian3D
;
29
// from Math/Point3Dfwd.h
30
typedef
PositionVector3D<Cartesian3D<double>
, DefaultCoordinateSystemTag>
XYZPoint
;
31
// from Math/Vector3Dfwd.h
32
typedef
DisplacementVector3D<Cartesian3D<double>
, DefaultCoordinateSystemTag>
XYZVector
;
33
}
// namespace Math
34
}
// namespace ROOT
35
42
class
GAUDI_API
IMagneticFieldSvc
:
virtual
public
IService
{
43
44
public
:
46
DeclareInterfaceID
(
IMagneticFieldSvc
, 2, 0 );
47
48
// Get the magnetic field vector at a given point in space.
49
// Input: XYZPoint - Point at which magnetic field vector is to be given.
50
// Output: XYZVector - Magnetic field vector.
51
// Return: StatusCode SUCCESS if calculation was performed.
52
virtual
StatusCode
fieldVector
(
const
ROOT::Math::XYZPoint
& xyz,
ROOT::Math::XYZVector
& fvec )
const
= 0;
53
};
IService
Definition:
IService.h:26
ROOT::Math::XYZVector
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
Definition:
IMagneticFieldSvc.h:32
IMagneticFieldSvc::DeclareInterfaceID
DeclareInterfaceID(IMagneticFieldSvc, 2, 0)
InterfaceID.
IService.h
ROOT::Math::PositionVector3D
Definition:
IMagneticFieldSvc.h:22
ROOT::Math::Cartesian3D
Definition:
IMagneticFieldSvc.h:28
StatusCode.h
IMagneticFieldSvc
Definition:
IMagneticFieldSvc.h:42
ROOT::Math::XYZPoint
PositionVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZPoint
Definition:
IMagneticFieldSvc.h:28
StatusCode
Definition:
StatusCode.h:64
IMagneticFieldSvc::fieldVector
virtual StatusCode fieldVector(const ROOT::Math::XYZPoint &xyz, ROOT::Math::XYZVector &fvec) const =0
ROOT
Definition:
IMagneticFieldSvc.h:16
ROOT::Math::DisplacementVector3D
Definition:
IMagneticFieldSvc.h:25
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:49
GaudiKernel
include
GaudiKernel
IMagneticFieldSvc.h
Generated on Wed Aug 13 2025 09:05:04 for The Gaudi Framework by
1.8.18