/usr/include/root/TVirtualMagField.h is in libroot-geom-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | // @(#)root/geom:$Id$
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TVirtualMagField
#define ROOT_TVirtualMagField
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
////////////////////////////////////////////////////////////////////////////
// //
// TVirtualMagField - ABC for magnetic field. Derived classes must //
// implement the method: Field(const Double_t *x, Double_t *B) //
// //
////////////////////////////////////////////////////////////////////////////
class TVirtualMagField : public TNamed
{
public:
TVirtualMagField() : TNamed() {}
TVirtualMagField(const char *name) : TNamed(name,"") {}
virtual ~TVirtualMagField();
virtual void Field(const Double_t *x, Double_t *B) = 0;
ClassDef(TVirtualMagField, 1) // Abstract base field class
};
////////////////////////////////////////////////////////////////////////////
// //
// TGeoUniformMagField - Uniform magnetic field class. //
// //
////////////////////////////////////////////////////////////////////////////
class TGeoUniformMagField : public TVirtualMagField
{
private:
Double_t fB[3]; // Magnetic field vector
protected:
TGeoUniformMagField(const TGeoUniformMagField&);
TGeoUniformMagField& operator=(const TGeoUniformMagField&);
public:
TGeoUniformMagField();
TGeoUniformMagField(Double_t Bx, Double_t By, Double_t Bz);
virtual ~TGeoUniformMagField() {}
void Field(const Double_t * /*x*/, Double_t *B) {B[0]=fB[0]; B[1]=fB[1]; B[2]=fB[2];}
const Double_t *GetFieldValue() const { return &fB[0]; }
void SetFieldValue(Double_t Bx, Double_t By, Double_t Bz) {fB[0]=Bx; fB[1]=By; fB[2]=Bz;}
ClassDef(TGeoUniformMagField, 1) // Uniform magnetic field
};
#endif
|