Logo ROOT   6.18/05
Reference Guide
TVirtualMagField.h
Go to the documentation of this file.
1// @(#)root/geom:$Id$
2
3/*************************************************************************
4 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
11#ifndef ROOT_TVirtualMagField
12#define ROOT_TVirtualMagField
13
14#include "TNamed.h"
15
17{
18public:
20 TVirtualMagField(const char *name) : TNamed(name,"") {}
21 virtual ~TVirtualMagField();
22
23 virtual void Field(const Double_t *x, Double_t *B) = 0;
24
25 ClassDef(TVirtualMagField, 1) // Abstract base field class
26};
27
28
29////////////////////////////////////////////////////////////////////////////
30// //
31// TGeoUniformMagField - Uniform magnetic field class. //
32// //
33////////////////////////////////////////////////////////////////////////////
34
36{
37private:
38 Double_t fB[3]; // Magnetic field vector
39
40protected:
43
44public:
48
49 void Field(const Double_t * /*x*/, Double_t *B) {B[0]=fB[0]; B[1]=fB[1]; B[2]=fB[2];}
50
51 const Double_t *GetFieldValue() const { return &fB[0]; }
52 void SetFieldValue(Double_t Bx, Double_t By, Double_t Bz) {fB[0]=Bx; fB[1]=By; fB[2]=Bz;}
53
54 ClassDef(TGeoUniformMagField, 1) // Uniform magnetic field
55};
56
57#endif
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
Implementation for uniform magnetic field.
TGeoUniformMagField()
Default constructor;.
void SetFieldValue(Double_t Bx, Double_t By, Double_t Bz)
TGeoUniformMagField & operator=(const TGeoUniformMagField &)
virtual ~TGeoUniformMagField()
TGeoUniformMagField(const TGeoUniformMagField &)
void Field(const Double_t *, Double_t *B)
const Double_t * GetFieldValue() const
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Abstract class for magnetic field.
virtual void Field(const Double_t *x, Double_t *B)=0
TVirtualMagField(const char *name)
virtual ~TVirtualMagField()
Destructor. Unregisters the field.
Double_t x[n]
Definition: legend1.C:17
static double B[]