CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/MagneticField/Interpolation/src/ZReflectedMFGrid.cc

Go to the documentation of this file.
00001 #include "ZReflectedMFGrid.h"
00002 #include "MagneticField/VolumeGeometry/interface/MagExceptions.h"
00003 
00004 #include <iostream>
00005 
00006 using namespace std;
00007 
00008 ZReflectedMFGrid::ZReflectedMFGrid( const GloballyPositioned<float>& vol,
00009                                     MFGrid* sectorGrid) :
00010   MFGrid(vol), theSectorGrid( sectorGrid)
00011 
00012 {}
00013 
00014 ZReflectedMFGrid::~ZReflectedMFGrid()
00015 {
00016   delete theSectorGrid;
00017 }
00018 
00019 MFGrid::LocalVector ZReflectedMFGrid::valueInTesla( const LocalPoint& p) const
00020 {
00021   // Z reflection of point
00022   LocalPoint mirrorp( p.x(), p.y(), -p.z());
00023   LocalVector mirrorB = theSectorGrid->valueInTesla( mirrorp);
00024   return LocalVector( -mirrorB.x(), -mirrorB.y(), mirrorB.z());
00025 }
00026 
00027 void ZReflectedMFGrid::throwUp( const char* message) const
00028 {
00029   std::cout << "Throwing exception " << message << std::endl;
00030   throw MagGeometryError(message);
00031 }
00032 void ZReflectedMFGrid::toGridFrame( const LocalPoint& p, double& a, double& b, double& c) const 
00033 {
00034   throwUp("Not implemented yet");
00035 }
00036 
00037 MFGrid::LocalPoint ZReflectedMFGrid::fromGridFrame( double a, double b, double c) const
00038 {
00039   throwUp("Not implemented yet");
00040   return LocalPoint();
00041 }
00042 
00043 Dimensions ZReflectedMFGrid::dimensions() const {return theSectorGrid->dimensions();}
00044 
00045 MFGrid::LocalPoint  ZReflectedMFGrid::nodePosition( int i, int j, int k) const
00046 {
00047   throwUp("Not implemented yet");
00048   return LocalPoint();
00049 }
00050 
00051 MFGrid::LocalVector ZReflectedMFGrid::nodeValue( int i, int j, int k) const
00052 {
00053   throwUp("Not implemented yet");
00054   return LocalVector();
00055 }