The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
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
15
16namespace ROOT {
17 namespace Math {
18 class DefaultCoordinateSystemTag;
19
20 // from Math/Point3Dfwd.h
21 template <class CoordSystem, class Tag>
23 // from Math/Vector3Dfwd.h
24 template <class CoordSystem, class Tag>
26 // from Math/Point3Dfwd.h
27 template <typename T>
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
42class GAUDI_API IMagneticFieldSvc : virtual public IService {
43
44public:
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};
#define GAUDI_API
Definition Kernel.h:49
The interface to the MagneticFieldSvc.
virtual StatusCode fieldVector(const ROOT::Math::XYZPoint &xyz, ROOT::Math::XYZVector &fvec) const =0
DeclareInterfaceID(IMagneticFieldSvc, 2, 0)
InterfaceID.
General service interface definition.
Definition IService.h:26
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
PositionVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZPoint