EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHField2D Class Reference

#include <fun4all_coresoftware/blob/master/offline/packages/PHField/PHField2D.h>

+ Inheritance diagram for PHField2D:
+ Collaboration diagram for PHField2D:

Public Member Functions

 PHField2D (const std::string &filename, const int verb=0, const float magfield_rescale=1.0)
 
 ~PHField2D () override
 
void GetFieldValue (const double Point[4], double *Bfield) const override
 
void GetFieldCyl (const double CylPoint[4], double *Bfield) const
 
- Public Member Functions inherited from PHField
 PHField (const int verb=0)
 constructor
 
virtual ~PHField ()
 
void Verbosity (const int i)
 
int Verbosity () const
 

Protected Attributes

std::vector< std::vector< float > > BFieldZ_
 
std::vector< std::vector< float > > BFieldR_
 
std::vector< std::vector< float > > BFieldPHI_
 
std::vector< float > z_map_
 
std::vector< float > r_map_
 
std::vector< float > phi_map_
 
float maxz_
 
float minz_
 
double magfield_unit
 
- Protected Attributes inherited from PHField
int m_Verbosity
 

Private Types

typedef boost::tuple< float,
float > 
trio
 

Private Member Functions

void print_map (std::map< trio, trio >::iterator &it) const
 

Private Attributes

unsigned int r_index0_cache
 
unsigned int r_index1_cache
 
unsigned int z_index0_cache
 
unsigned int z_index1_cache
 

Detailed Description

Definition at line 13 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 13 of file PHField2D.h

Member Typedef Documentation

typedef boost::tuple<float, float> PHField2D::trio
private

Definition at line 15 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 15 of file PHField2D.h

Constructor & Destructor Documentation

PHField2D::PHField2D ( const std::string &  filename,
const int  verb = 0,
const float  magfield_rescale = 1.0 
)

Definition at line 24 of file PHField2D.cc.

View newest version in sPHENIX GitHub at line 24 of file PHField2D.cc

References BFieldR_, BFieldZ_, Acts::IntegrationTest::Bz, Acts::UnitConstants::cm, exit(), Acts::Test::gauss(), ir(), it, G4MAGNET::magfield_rescale, magfield_unit, maxz_, minz_, print_map(), r_map_, PHField::Verbosity(), z, and z_map_.

+ Here is the call graph for this function:

PHField2D::~PHField2D ( )
inlineoverride

Definition at line 19 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 19 of file PHField2D.h

Member Function Documentation

void PHField2D::GetFieldCyl ( const double  CylPoint[4],
double *  Bfield 
) const

Definition at line 264 of file PHField2D.cc.

View newest version in sPHENIX GitHub at line 264 of file PHField2D.cc

References BFieldR_, BFieldZ_, Acts::Test::gauss(), r_index0_cache, r_index1_cache, r_map_, PHField::Verbosity(), z, z_index0_cache, z_index1_cache, and z_map_.

Referenced by GetFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHField2D::GetFieldValue ( const double  Point[4],
double *  Bfield 
) const
overridevirtual

access field value Follow the convention of G4ElectroMagneticField

Parameters
[in]Pointspace time coordinate. x, y, z, t in Geant4/CLHEP units
[out]Bfieldfield value. In the case of magnetic field, the order is Bx, By, Bz in in Geant4/CLHEP units

Implements PHField.

Definition at line 215 of file PHField2D.cc.

View newest version in sPHENIX GitHub at line 215 of file PHField2D.cc

References cos(), GetFieldCyl(), M_PI, maxz_, minz_, phi, PHField::Verbosity(), x, y, and z.

+ Here is the call graph for this function:

void PHField2D::print_map ( std::map< trio, trio >::iterator &  it) const
private

Definition at line 382 of file PHField2D.cc.

View newest version in sPHENIX GitHub at line 382 of file PHField2D.cc

References Acts::UnitConstants::cm, and magfield_unit.

Referenced by PHField2D().

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<std::vector<float> > PHField2D::BFieldPHI_
protected

Definition at line 32 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 32 of file PHField2D.h

std::vector<std::vector<float> > PHField2D::BFieldR_
protected

Definition at line 31 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 31 of file PHField2D.h

Referenced by GetFieldCyl(), and PHField2D().

std::vector<std::vector<float> > PHField2D::BFieldZ_
protected

Definition at line 30 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 30 of file PHField2D.h

Referenced by GetFieldCyl(), and PHField2D().

double PHField2D::magfield_unit
protected

Definition at line 40 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 40 of file PHField2D.h

Referenced by PHField2D(), and print_map().

float PHField2D::maxz_
protected

Definition at line 39 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 39 of file PHField2D.h

Referenced by GetFieldValue(), and PHField2D().

float PHField2D::minz_
protected

Definition at line 39 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 39 of file PHField2D.h

Referenced by GetFieldValue(), and PHField2D().

std::vector<float> PHField2D::phi_map_
protected

Definition at line 37 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 37 of file PHField2D.h

unsigned int PHField2D::r_index0_cache
mutableprivate

Definition at line 50 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 50 of file PHField2D.h

Referenced by GetFieldCyl().

unsigned int PHField2D::r_index1_cache
mutableprivate

Definition at line 51 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 51 of file PHField2D.h

Referenced by GetFieldCyl().

std::vector<float> PHField2D::r_map_
protected

Definition at line 36 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 36 of file PHField2D.h

Referenced by GetFieldCyl(), and PHField2D().

unsigned int PHField2D::z_index0_cache
mutableprivate

Definition at line 52 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 52 of file PHField2D.h

Referenced by GetFieldCyl().

unsigned int PHField2D::z_index1_cache
mutableprivate

Definition at line 53 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 53 of file PHField2D.h

Referenced by GetFieldCyl().

std::vector<float> PHField2D::z_map_
protected

Definition at line 35 of file PHField2D.h.

View newest version in sPHENIX GitHub at line 35 of file PHField2D.h

Referenced by GetFieldCyl(), and PHField2D().


The documentation for this class was generated from the following files: