ATLAS Offline Software
Loading...
Searching...
No Matches
BFieldVectorZR.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5//
6// BFieldVectorZR.h
7//
8// Magnetic field value (Bz,Br) stored in 2d map.
9//
10// Masahiro Morii, Harvard University
11//
12// Athena MT RD Schaffer , C Anastopoulos
13//
14#ifndef BFIELDVECTORZR_H
15#define BFIELDVECTORZR_H
16#include <array>
17#include <cstdlib>
19{
20public:
21 // no default constructor
22 BFieldVectorZR() = delete;
23
24 //constructor
25 BFieldVectorZR(double Bz, double Br)
26 : m_B{ Bz, Br }
27 {}
28 // setter
29 void set(double Bz, double Br) { m_B = { Bz, Br }; }
30 // accessors
31 double z() const { return m_B[0]; }
32 double r() const { return m_B[1]; }
33 // array-like accessor
34 double operator[](size_t i) const { return m_B[i]; }
35
36private:
37 std::array<double, 2> m_B;
38};
39
40#endif
BFieldVectorZR(double Bz, double Br)
double r() const
double operator[](size_t i) const
void set(double Bz, double Br)
std::array< double, 2 > m_B
double z() const
BFieldVectorZR()=delete