GridImpl Class Reference

Inheritance diagram for GridImpl:
FieldMapImpl

List of all members.

Public Member Functions

 GridImpl (MyBLArgumentVector &argv, MyBLArgumentMap &namedArgs)
 ~GridImpl ()
void getFieldValue (const G4double local[4], G4double field[6]) const
bool handleCommand (InputFile &in, MyBLArgumentVector &argv, MyBLArgumentMap &namedArgs)
virtual void getBoundingPoint (int i, G4double point[4])
virtual bool hasB ()
virtual bool hasE ()
int bits (G4String s)
const char * bits2str (int v)
bool setField (G4double X, G4double Y, G4double Z, G4double Bx, G4double By, G4double Bz, G4double Ex, G4double Ey, G4double Ez, int linenumber)
virtual bool writeFile (FILE *f)
bool readBlock (InputFile &in, float *values, int nRows, int nCols, G4double units)

Private Attributes

G4int nX
G4int nY
G4int nZ
G4double dX
G4double dY
G4double dZ
G4double X0
G4double Y0
G4double Z0
G4double tolerance
float * mapBx
float * mapBy
float * mapBz
float * mapEx
float * mapEy
float * mapEz
bool extendX
bool extendY
bool extendZ
int extendXbits
int extendYbits
int extendZbits

Detailed Description

class GridImpl -- class for a Grid FieldMap implementation

Definition at line 105 of file MyBLFieldMap.cc.


Constructor & Destructor Documentation

GridImpl::GridImpl ( MyBLArgumentVector argv,
MyBLArgumentMap namedArgs 
)

Definition at line 569 of file MyBLFieldMap.cc.

References argDouble(), argInt(), dX, dY, dZ, extendX, extendXbits, extendY, extendYbits, extendZ, extendZbits, mapBx, mapBy, mapBz, mapEx, mapEy, mapEz, nX, nY, nZ, tolerance, X0, Y0, and Z0.

00570 : FieldMapImpl() {
00571     nX = 2;
00572     nY = 2;
00573     nZ = 2;
00574     dX = 10.0*mm;
00575     dY = 10.0*mm;
00576     dZ = 10.0*mm;
00577     X0 = 0.0;
00578     Y0 = 0.0;
00579     Z0 = 0.0;
00580     tolerance = 0.01*mm;
00581     mapBx = 0;
00582     mapBy = 0;
00583     mapBz = 0;
00584     mapEx = 0;
00585     mapEy = 0;
00586     mapEz = 0;
00587     extendX = false;
00588     extendY = false;
00589     extendZ = false;
00590     extendXbits = 0;
00591     extendYbits = 0;
00592     extendZbits = 0;
00593     argInt(nX,"nX",namedArgs);
00594     argInt(nY,"nY",namedArgs);
00595     argInt(nZ,"nZ",namedArgs);
00596     argDouble(dX,"dX",namedArgs);
00597     argDouble(dY,"dY",namedArgs);
00598     argDouble(dZ,"dZ",namedArgs);
00599     argDouble(X0,"X0",namedArgs);
00600     argDouble(Y0,"Y0",namedArgs);
00601     argDouble(Z0,"Z0",namedArgs);
00602     argDouble(tolerance,"tolerance",namedArgs);
00603 }

GridImpl::~GridImpl (  ) 

Definition at line 606 of file MyBLFieldMap.cc.

References mapBx, mapBy, mapBz, mapEx, mapEy, and mapEz.

00606                     {
00607     if(mapBx) delete mapBx;
00608     if(mapBy) delete mapBy;
00609     if(mapBz) delete mapBz;
00610     if(mapEx) delete mapEx;
00611     if(mapEy) delete mapEy;
00612     if(mapEz) delete mapEz;
00613 }


Member Function Documentation

int GridImpl::bits ( G4String  s  ) 

Definition at line 852 of file MyBLFieldMap.cc.

Referenced by handleCommand().

00852                              {
00853     int v=0;
00854     if(s.find("Bx") < s.size()) v |= 1;
00855     if(s.find("By") < s.size()) v |= 2;
00856     if(s.find("Bz") < s.size()) v |= 4;
00857     if(s.find("Ex") < s.size()) v |= 8;
00858     if(s.find("Ey") < s.size()) v |= 16;
00859     if(s.find("Ez") < s.size()) v |= 32;
00860     return v;
00861 }

const char * GridImpl::bits2str ( int  v  ) 

Definition at line 864 of file MyBLFieldMap.cc.

Referenced by writeFile().

00864                                     {
00865     static char retval[32];
00866     retval[0] = '\0';
00867     if(v & 1) strcat(retval,"Bx,");
00868     if(v & 2) strcat(retval,"By,");
00869     if(v & 4) strcat(retval,"Bz,");
00870     if(v & 8) strcat(retval,"Ex,");
00871     if(v & 16) strcat(retval,"Ey,");
00872     if(v & 32) strcat(retval,"Ez,");
00873     return retval;
00874 }

void GridImpl::getBoundingPoint ( int  i,
G4double  point[4] 
) [virtual]

Implements FieldMapImpl.

Definition at line 836 of file MyBLFieldMap.cc.

References dX, dY, dZ, extendX, extendY, extendZ, nX, nY, nZ, X0, Y0, and Z0.

00836                                                         {
00837     if(extendX)
00838         point[0] = (i&1 ? -(nX-1)*dX : (nX-1)*dX) + X0;
00839     else
00840         point[0] = (i&1 ? 0.0 : (nX-1)*dX) + X0;
00841     if(extendY)
00842         point[1] = (i&2 ? -(nY-1)*dY : (nY-1)*dY) + Y0;
00843     else
00844         point[1] = (i&2 ? 0.0 : (nY-1)*dY) + Y0;
00845     if(extendZ)
00846         point[2] = (i&4 ? -(nZ-1)*dZ : (nZ-1)*dZ) + Z0;
00847     else
00848         point[2] = (i&4 ? 0.0 : (nZ-1)*dZ) + Z0;
00849 }

void GridImpl::getFieldValue ( const G4double  local[4],
G4double  field[6] 
) const [virtual]

Implements FieldMapImpl.

Definition at line 616 of file MyBLFieldMap.cc.

References COMPONENT, dX, dY, dZ, extendX, extendXbits, extendY, extendYbits, extendZ, extendZbits, mapBx, mapBy, mapBz, mapEx, mapEy, mapEz, nX, nY, nZ, X0, Y0, and Z0.

00617       {
00618     G4double x = local[0];
00619     G4double y = local[1];
00620     G4double z = local[2];
00621 
00622     x -= X0;
00623     y -= Y0;
00624     z -= Z0;
00625 
00626     G4double factor[6];
00627     factor[0]=factor[1]=factor[2]=factor[3]=factor[4]=factor[5]=1.0;
00628     if(extendX && x < 0.0) {
00629         x = -x;
00630         for(int i=0; i<6; ++i) {
00631             if(extendXbits & (1<<i)) factor[i] = -factor[i];
00632         }
00633     }
00634     if(extendY && y < 0.0) {
00635         y = -y;
00636         for(int i=0; i<6; ++i) {
00637             if(extendYbits & (1<<i)) factor[i] = -factor[i];
00638         }
00639     }
00640     if(extendZ && z < 0.0) {
00641         z = -z;
00642         for(int i=0; i<6; ++i) {
00643             if(extendZbits & (1<<i)) factor[i] = -factor[i];
00644         }
00645     }
00646 
00647     // We compute a 3D linear average of the 8 surrounding points in the map
00648     // First, get the X,Y,Z indices into i,j,k
00649     int i = (int)floor(x/dX);
00650     int j = (int)floor(y/dY);
00651     int k = (int)floor(z/dZ);
00652     if(i < 0 || i >= nX-1 || j < 0 || j >= nY-1 || k < 0 || k >= nZ-1) {
00653         field[0] = field[1] = field[2] = field[3] = field[4] =
00654             field[5] = 0.0;
00655         return;
00656     }
00657     // m is the initial index (corner of the cube with minimum X, Y, and Z)
00658     int m = k*nY*nX + j*nX + i;
00659     assert(m+nY*nX+nX+1 < nX*nY*nZ);
00660 
00661     // now compute the fractional weighting factors for X, Y, and Z
00662     float fx = 1.0 - (x - i*dX) / dX;
00663     assert(fx >= 0.0 && fx <= 1.0);
00664     float fy = 1.0 - (y - j*dY) / dY;
00665     assert(fy >= 0.0 && fy <= 1.0);
00666     float fz = 1.0 - (z - k*dZ) / dZ;
00667     assert(fz >= 0.0 && fz <= 1.0);
00668 
00669     // now compute the fractional weighting factors for the 8 corners
00670     float f0 = fx*fy*fz;
00671     float f1 = (1.0-fx)*fy*fz;
00672     float f2 = fx*(1.0-fy)*fz;
00673     float f3 = (1.0-fx)*(1.0-fy)*fz;
00674     float f4 = fx*fy*(1.0-fz);
00675     float f5 = (1.0-fx)*fy*(1.0-fz);
00676     float f6 = fx*(1.0-fy)*(1.0-fz);
00677     float f7 = (1.0-fx)*(1.0-fy)*(1.0-fz);
00678 
00679     // Finally, compute the components of the field
00680 #define COMPONENT(C) \
00681         G4double C = 0.0; \
00682         if(map##C) C =  map##C[m]*f0 + map##C[m+1]*f1 + \
00683                 map##C[m+nX]*f2 + map##C[m+nX+1]*f3 + \
00684                 map##C[m+nY*nX]*f4 + map##C[m+nY*nX+1]*f5 + \
00685                 map##C[m+nY*nX+nX]*f6 + map##C[m+nY*nX+nX+1]*f7;
00686         COMPONENT(Bx);
00687     COMPONENT(By);
00688     COMPONENT(Bz);
00689     COMPONENT(Ex);
00690     COMPONENT(Ey);
00691     COMPONENT(Ez);
00692 
00693 #ifdef STUB
00694     G4double Bx = 0.0;
00695     if(mapBx) Bx =
00696             mapBx[m]*fx*fy*fz +
00697             mapBx[m+1]*(1.0-fx)*fy*fz +
00698             mapBx[m+nX]*fx*(1.0-fy)*fz +
00699             mapBx[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00700             mapBx[m+nY*nX]*fx*fy*(1.0-fz) +
00701             mapBx[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00702             mapBx[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00703             mapBx[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00704     G4double By = 0.0;
00705     if(mapBy) By =
00706             mapBy[m]*fx*fy*fz +
00707             mapBy[m+1]*(1.0-fx)*fy*fz +
00708             mapBy[m+nX]*fx*(1.0-fy)*fz +
00709             mapBy[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00710             mapBy[m+nY*nX]*fx*fy*(1.0-fz) +
00711             mapBy[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00712             mapBy[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00713             mapBy[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00714     G4double Bz = 0.0;
00715     if(mapBz) Bz =
00716             mapBz[m]*fx*fy*fz +
00717             mapBz[m+1]*(1.0-fx)*fy*fz +
00718             mapBz[m+nX]*fx*(1.0-fy)*fz +
00719             mapBz[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00720             mapBz[m+nY*nX]*fx*fy*(1.0-fz) +
00721             mapBz[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00722             mapBz[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00723             mapBz[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00724 
00725     G4double Ex = 0.0;
00726     if(mapEx) Ex =
00727             mapEx[m]*fx*fy*fz +
00728             mapEx[m+1]*(1.0-fx)*fy*fz +
00729             mapEx[m+nX]*fx*(1.0-fy)*fz +
00730             mapEx[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00731             mapEx[m+nY*nX]*fx*fy*(1.0-fz) +
00732             mapEx[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00733             mapEx[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00734             mapEx[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00735     G4double Ey = 0.0;
00736     if(mapEy) Ey =
00737             mapEy[m]*fx*fy*fz +
00738             mapEy[m+1]*(1.0-fx)*fy*fz +
00739             mapEy[m+nX]*fx*(1.0-fy)*fz +
00740             mapEy[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00741             mapEy[m+nY*nX]*fx*fy*(1.0-fz) +
00742             mapEy[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00743             mapEy[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00744             mapEy[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00745     G4double Ez = 0.0;
00746     if(mapEz) Ez =
00747             mapEz[m]*fx*fy*fz +
00748             mapEz[m+1]*(1.0-fx)*fy*fz +
00749             mapEz[m+nX]*fx*(1.0-fy)*fz +
00750             mapEz[m+nX+1]*(1.0-fx)*(1.0-fy)*fz +
00751             mapEz[m+nY*nX]*fx*fy*(1.0-fz) +
00752             mapEz[m+nY*nX+1]*(1.0-fx)*fy*(1.0-fz) +
00753             mapEz[m+nY*nX+nX]*fx*(1.0-fy)*(1.0-fz) +
00754             mapEz[m+nY*nX+nX+1]*(1.0-fx)*(1.0-fy)*(1.0-fz);
00755 #endif                                            //STUB
00756 
00757     field[0] = Bx * factor[0];
00758     field[1] = By * factor[1];
00759     field[2] = Bz * factor[2];
00760     field[3] = Ex * factor[3];
00761     field[4] = Ey * factor[4];
00762     field[5] = Ez * factor[5];
00763 }

bool GridImpl::handleCommand ( InputFile in,
MyBLArgumentVector argv,
MyBLArgumentMap namedArgs 
) [virtual]

Implements FieldMapImpl.

Definition at line 766 of file MyBLFieldMap.cc.

References bits(), extendX, extendXbits, extendY, extendYbits, extendZ, extendZbits, InputFile::getline(), InputFile::linenumber(), InputFile::repeatLine(), and setField().

00767                             {
00768     if(argv[0] == "extendX") {
00769         extendX = true;
00770         extendXbits = bits(namedArgs["flip"]);
00771         return true;
00772     }
00773     else if(argv[0] == "extendY") {
00774         extendY = true;
00775         extendYbits = bits(namedArgs["flip"]);
00776         return true;
00777     }
00778     else if(argv[0] == "extendZ") {
00779         extendZ = true;
00780         extendZbits = bits(namedArgs["flip"]);
00781         return true;
00782     }
00783     else if(argv[0] == "Bx") {
00784         G4cerr << "MyBLFieldMap: Bx not implemented" << G4endl;
00785         return true;
00786     }
00787     else if(argv[0] == "By") {
00788         G4cerr << "MyBLFieldMap: By not implemented" << G4endl;
00789         return true;
00790     }
00791     else if(argv[0] == "Bz") {
00792         G4cerr << "MyBLFieldMap: Bz not implemented" << G4endl;
00793         return true;
00794     }
00795     else if(argv[0] == "Ex") {
00796         G4cerr << "MyBLFieldMap: Ex not implemented" << G4endl;
00797         return true;
00798     }
00799     else if(argv[0] == "Ey") {
00800         G4cerr << "MyBLFieldMap: Ey not implemented" << G4endl;
00801         return true;
00802     }
00803     else if(argv[0] == "Ez") {
00804         G4cerr << "MyBLFieldMap: Ez not implemented" << G4endl;
00805         return true;
00806     }
00807     else if(argv[0] == "data") {
00808         for(char *line=0; (line=in.getline())!=0; ) {
00809             if(isalpha(line[0])) {
00810                 in.repeatLine();
00811                 break;
00812             }
00813             int n;
00814             float X=0.0,Y=0.0,Z=0.0,Bx=0.0,By=0.0,Bz=0.0,
00815                 Ex=0.0,Ey=0.0,Ez=0.0;
00816             for(char *p=line; (p=strchr(p,','))!=0;) *p = ' ';
00817             n = sscanf(line,"%f%f%f%f%f%f%f%f%f",&X,&Y,&Z,
00818                 &Bx,&By,&Bz,&Ex,&Ey,&Ez);
00819             if(n <= 3) {
00820                 G4cerr << "MyBLFieldMap: invalid line "
00821                     << in.linenumber() << G4endl;
00822                 continue;
00823             }
00824             setField(X,Y,Z,Bx*tesla,By*tesla,Bz*tesla,
00825                 Ex*megavolt/meter,Ey*megavolt/meter,
00826                 Ez*megavolt/meter,in.linenumber());
00827         }
00828         return true;
00829     }
00830     else {
00831         return false;
00832     }
00833 }

virtual bool GridImpl::hasB (  )  [inline, virtual]

Implements FieldMapImpl.

Definition at line 135 of file MyBLFieldMap.cc.

References mapBx, mapBy, and mapBz.

00135 { return mapBx!=0 || mapBy!=0 || mapBz!=0; }

virtual bool GridImpl::hasE (  )  [inline, virtual]

Implements FieldMapImpl.

Definition at line 136 of file MyBLFieldMap.cc.

References mapEx, mapEy, and mapEz.

Referenced by writeFile().

00136 { return mapEx!=0 || mapEy!=0 || mapEz!=0; }

bool FieldMapImpl::readBlock ( InputFile in,
float *  values,
int  nRows,
int  nCols,
G4double  units 
) [inherited]

Definition at line 414 of file MyBLFieldMap.cc.

References InputFile::getline().

Referenced by CylinderImpl::handleCommand().

00415                 {
00416     while(nRows-- > 0) {
00417         char *line = in.getline();
00418         if(!line) return false;
00419         char *p=line;
00420         for(int i=0; i<nCols; ++i) {
00421             while(isspace(*p)) ++p;
00422             if(*p == '\0') return false;
00423             *values++ = strtod(p,&p) * units;
00424             if(*p == ',') ++p;
00425         }
00426     }
00427     return true;
00428 }

bool GridImpl::setField ( G4double  X,
G4double  Y,
G4double  Z,
G4double  Bx,
G4double  By,
G4double  Bz,
G4double  Ex,
G4double  Ey,
G4double  Ez,
int  linenumber 
)

Definition at line 877 of file MyBLFieldMap.cc.

References dX, dY, dZ, mapBx, mapBy, mapBz, mapEx, mapEy, mapEz, nX, nY, nZ, tolerance, X0, Y0, and Z0.

Referenced by MyBLFieldMap::createGridMap(), and handleCommand().

00879                 {
00880     if(!mapBx && Bx != 0.0) {
00881         mapBx = new float[nX*nY*nZ];
00882         assert(mapBx != 0);
00883         for(int i=0; i<nX*nY*nZ; ++i)
00884             mapBx[i] = 0.0;
00885     }
00886     if(!mapBy && By != 0.0) {
00887         mapBy = new float[nX*nY*nZ];
00888         assert(mapBy != 0);
00889         for(int i=0; i<nX*nY*nZ; ++i)
00890             mapBy[i] = 0.0;
00891     }
00892     if(!mapBz && Bz != 0.0) {
00893         mapBz = new float[nX*nY*nZ];
00894         assert(mapBz != 0);
00895         for(int i=0; i<nX*nY*nZ; ++i)
00896             mapBz[i] = 0.0;
00897     }
00898     if(!mapEx && Ex != 0.0) {
00899         mapEx = new float[nX*nY*nZ];
00900         assert(mapEx != 0);
00901         for(int i=0; i<nX*nY*nZ; ++i)
00902             mapEx[i] = 0.0;
00903     }
00904     if(!mapEy && Ey != 0.0) {
00905         mapEy = new float[nX*nY*nZ];
00906         assert(mapEy != 0);
00907         for(int i=0; i<nX*nY*nZ; ++i)
00908             mapEy[i] = 0.0;
00909     }
00910     if(!mapEz && Ez != 0.0) {
00911         mapEz = new float[nX*nY*nZ];
00912         assert(mapEz != 0);
00913         for(int i=0; i<nX*nY*nZ; ++i)
00914             mapEz[i] = 0.0;
00915     }
00916     X -= X0;
00917     Y -= Y0;
00918     Z -= Z0;
00919     int i = (int)floor((X/dX) + 0.5);
00920     if(i<0 || fabs(i*dX-X)>tolerance || i >= nX) {
00921         G4cerr << "MyBLFieldMap: ERROR point off grid X="
00922             << X << " line=" << linenumber << G4endl;
00923         return false;
00924     }
00925     int j = (int)floor((Y/dY) + 0.5);
00926     if(j<0 || fabs(j*dY-Y)>tolerance || j >= nY) {
00927         G4cerr << "MyBLFieldMap: ERROR point off grid Y="
00928             << Y << " line=" << linenumber << G4endl;
00929         return false;
00930     }
00931     int k = (int)floor((Z/dZ) + 0.5);
00932     if(k<0 || fabs(k*dZ-Z)>tolerance || k >= nZ) {
00933         G4cerr << "MyBLFieldMap: ERROR point off grid Z="
00934             << Z << " line=" << linenumber << G4endl;
00935         return false;
00936     }
00937     int m = k*nY*nX + j*nX + i;
00938     assert(m >= 0 && m < nX*nY*nZ);
00939     if(mapBx) mapBx[m] = Bx;
00940     if(mapBy) mapBy[m] = By;
00941     if(mapBz) mapBz[m] = Bz;
00942     if(mapEx) mapEx[m] = Ex;
00943     if(mapEy) mapEy[m] = Ey;
00944     if(mapEz) mapEz[m] = Ez;
00945 
00946     return true;
00947 }

bool GridImpl::writeFile ( FILE *  f  )  [virtual]

Implements FieldMapImpl.

Definition at line 950 of file MyBLFieldMap.cc.

References bits2str(), dX, dY, dZ, extendX, extendXbits, extendY, extendYbits, extendZ, extendZbits, hasE(), mapBx, mapBy, mapBz, mapEx, mapEy, mapEz, nX, nY, nZ, X0, Y0, and Z0.

00950                                 {
00951     fprintf(f,"grid X0=%g Y0=%g Z0=%g nX=%d nY=%d nZ=%d dX=%g dY=%g dZ=%g\n",
00952         X0,Y0,Z0,nX,nY,nZ,dX,dY,dZ);
00953     if(extendX) fprintf(f,"extendX flip=%s\n",bits2str(extendXbits));
00954     if(extendY) fprintf(f,"extendY flip=%s\n",bits2str(extendYbits));
00955     if(extendZ) fprintf(f,"extendZ flip=%s\n",bits2str(extendZbits));
00956     fprintf(f,"data\n");
00957 
00958     for(int i=0; i<nX; ++i) {
00959         G4double X = X0 + i*dX;
00960         for(int j=0; j<nY; ++j) {
00961             G4double Y = Y0 + j*dY;
00962             for(int k=0; k<nZ; ++k) {
00963                 G4double Z = Z0 + k*dZ;
00964                 int m = k*nY*nX + j*nX + i;
00965                 assert(m >= 0 && m < nX*nY*nZ);
00966                 G4double Bx = (mapBx ? mapBx[m] : 0.0);
00967                 G4double By = (mapBy ? mapBy[m] : 0.0);
00968                 G4double Bz = (mapBz ? mapBz[m] : 0.0);
00969                 fprintf(f,"%.1f %.1f %.1f %g %g %g",
00970                     X,Y,Z,Bx/tesla,By/tesla,Bz/tesla);
00971                 if(hasE()) {
00972                     G4double Ex = (mapEx ? mapEx[m] : 0.0);
00973                     G4double Ey = (mapEy ? mapEy[m] : 0.0);
00974                     G4double Ez = (mapEz ? mapEz[m] : 0.0);
00975                     fprintf(f," %g %g %g",
00976                         Ex/(megavolt/meter),
00977                         Ey/(megavolt/meter),
00978                         Ez/(megavolt/meter));
00979                 }
00980                 fprintf(f,"\n");
00981             }
00982         }
00983     }
00984     return true;
00985 }


Member Data Documentation

G4double GridImpl::dX [private]

Definition at line 109 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4double GridImpl::dY [private]

Definition at line 110 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4double GridImpl::dZ [private]

Definition at line 111 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

bool GridImpl::extendX [private]

Definition at line 122 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), handleCommand(), and writeFile().

int GridImpl::extendXbits [private]

Definition at line 125 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), handleCommand(), and writeFile().

bool GridImpl::extendY [private]

Definition at line 123 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), handleCommand(), and writeFile().

int GridImpl::extendYbits [private]

Definition at line 126 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), handleCommand(), and writeFile().

bool GridImpl::extendZ [private]

Definition at line 124 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), handleCommand(), and writeFile().

int GridImpl::extendZbits [private]

Definition at line 127 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), handleCommand(), and writeFile().

float* GridImpl::mapBx [private]

Definition at line 116 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasB(), setField(), writeFile(), and ~GridImpl().

float* GridImpl::mapBy [private]

Definition at line 117 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasB(), setField(), writeFile(), and ~GridImpl().

float* GridImpl::mapBz [private]

Definition at line 118 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasB(), setField(), writeFile(), and ~GridImpl().

float* GridImpl::mapEx [private]

Definition at line 119 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasE(), setField(), writeFile(), and ~GridImpl().

float* GridImpl::mapEy [private]

Definition at line 120 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasE(), setField(), writeFile(), and ~GridImpl().

float* GridImpl::mapEz [private]

Definition at line 121 of file MyBLFieldMap.cc.

Referenced by getFieldValue(), GridImpl(), hasE(), setField(), writeFile(), and ~GridImpl().

G4int GridImpl::nX [private]

Definition at line 106 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4int GridImpl::nY [private]

Definition at line 107 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4int GridImpl::nZ [private]

Definition at line 108 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4double GridImpl::tolerance [private]

Definition at line 115 of file MyBLFieldMap.cc.

Referenced by GridImpl(), and setField().

G4double GridImpl::X0 [private]

Definition at line 112 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4double GridImpl::Y0 [private]

Definition at line 113 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().

G4double GridImpl::Z0 [private]

Definition at line 114 of file MyBLFieldMap.cc.

Referenced by getBoundingPoint(), getFieldValue(), GridImpl(), setField(), and writeFile().


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

Generated on 15 Jun 2016 for g4sim by  doxygen 1.6.1