ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MagneticField
MagFieldUtils
MagFieldUtils
BFieldSolenoid.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
// BFieldSolenoid.h
7
//
8
// Magnetic field map for the ATLAS solenoid
9
//
10
// Masahiro Morii, Harvard University
11
//
12
#ifndef BFIELDSOLENOID_H
13
#define BFIELDSOLENOID_H
14
15
#include <vector>
16
#include <iostream>
17
#include "TFile.h"
18
#include "
MagFieldElements/BFieldZone.h
"
19
20
21
class
BFieldSolenoid
{
22
public
:
23
// constructor
24
BFieldSolenoid
() :
m_orig
(nullptr),
m_tilt
(nullptr) {;}
25
// destructor
26
~BFieldSolenoid
() {
delete
m_orig
;
if
(
m_orig
!=
m_tilt
)
delete
m_tilt
; }
27
// read/write map from/to file
28
int
readMap
( std::istream& input );
29
int
readMap
( TFile*
rootfile
);
30
void
writeMap
( TFile*
rootfile
,
bool
tilted =
false
);
31
// move and tilt the map
32
void
moveMap
(
double
dx,
double
dy,
double
dz,
double
ax,
double
ay );
33
// compute magnetic field
34
void
getB
(
const
double
*
xyz
,
double
*B,
double
*deriv=
nullptr
)
const
;
35
// accessor
36
const
BFieldMesh<double>
*
tiltedMap
()
const
{
return
m_tilt
; }
37
38
BFieldSolenoid
(
const
BFieldSolenoid
&) =
delete
;
39
BFieldSolenoid
&
operator=
(
const
BFieldSolenoid
&) =
delete
;
40
41
private
:
42
// data members
43
BFieldMesh<double>
*
m_orig
;
// original map as it was read from file
44
BFieldMesh<double>
*
m_tilt
;
// tilted and moved map
45
};
46
47
#endif
BFieldZone.h
xyz
#define xyz
BFieldMesh
A 3-d mesh (axes z,r,phi) representing a simple field map.
Definition
BFieldMesh.h:43
BFieldSolenoid::m_orig
BFieldMesh< double > * m_orig
Definition
BFieldSolenoid.h:43
BFieldSolenoid::getB
void getB(const double *xyz, double *B, double *deriv=nullptr) const
Definition
BFieldSolenoid.cxx:287
BFieldSolenoid::readMap
int readMap(std::istream &input)
Definition
BFieldSolenoid.cxx:20
BFieldSolenoid::m_tilt
BFieldMesh< double > * m_tilt
Definition
BFieldSolenoid.h:44
BFieldSolenoid::writeMap
void writeMap(TFile *rootfile, bool tilted=false)
Definition
BFieldSolenoid.cxx:104
BFieldSolenoid::BFieldSolenoid
BFieldSolenoid(const BFieldSolenoid &)=delete
BFieldSolenoid::moveMap
void moveMap(double dx, double dy, double dz, double ax, double ay)
Definition
BFieldSolenoid.cxx:305
BFieldSolenoid::~BFieldSolenoid
~BFieldSolenoid()
Definition
BFieldSolenoid.h:26
BFieldSolenoid::BFieldSolenoid
BFieldSolenoid()
Definition
BFieldSolenoid.h:24
BFieldSolenoid::operator=
BFieldSolenoid & operator=(const BFieldSolenoid &)=delete
BFieldSolenoid::tiltedMap
const BFieldMesh< double > * tiltedMap() const
Definition
BFieldSolenoid.h:36
rootfile
static std::vector< std::string > rootfile
Definition
iLumiCalc.h:30
Generated on
for ATLAS Offline Software by
1.17.0