ATLAS Offline Software
Loading...
Searching...
No Matches
AtlasBComponent.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "CLHEP/GenericFunctions/AbsFunction.hh"
7
8// Real magnetic field svc
10
11// This class is an adaptor:
12namespace Genfun {
13
14 class AtlasBComponent: public AbsFunction {
15
16 FUNCTION_OBJECT_DEF(AtlasBComponent)
17
18 public:
19
20 // Constructor:
21 AtlasBComponent(unsigned int index, MagField::AtlasFieldCache* fieldCache);
22
23 // Destructor:
24 virtual ~AtlasBComponent();
25
26 // Copy Constructor:
27 AtlasBComponent(const AtlasBComponent &right);
28
29 // Dimensionality:
30 virtual unsigned int dimensionality() const override;
31
32 virtual double operator () (double argument) const override;
33 virtual double operator () (const Argument & a) const override;
34
35 private:
36
37 unsigned int m_index;
38
39 // Don't allow assignment (avoid coverity warning).
41
42 /* Mag field accessor.
43 *
44 * For this to be thread-safe the caller needs to have a local instance
45 * of AtlasFieldCache as the cache is being mutated by operator(). We have
46 * no way of knowing if this is the case, but this class is used only in
47 * one place.
48 */
50
51 };
52
53}
static Double_t a
Define macros for attributes used to control the static checker.
AtlasBComponent & operator=(const AtlasBComponent &)
virtual unsigned int dimensionality() const override
virtual double operator()(double argument) const override
MagField::AtlasFieldCache *m_fieldCache ATLAS_THREAD_SAFE
AtlasBComponent(unsigned int index, MagField::AtlasFieldCache *fieldCache)
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition index.py:1