00001
00002
00003
00004 #include "BField/BfldGrid.h"
00005 #include <cassert>
00006
00007
00008 BfldGrid::Grid_t BfldGrid::GetGrid(Detector::Detector_t detector,
00009 Int_t coarseness)
00010 {
00011
00012
00013 switch (detector) {
00014 case Detector::kNear:
00015 switch (coarseness) {
00016 case -1: return BfldGrid::kRect2dGrid; break;
00017 case 0: return BfldGrid::kNearCoarseV; break;
00018 case 1: return BfldGrid::kNearStdV; break;
00019 case 2: return BfldGrid::kNearFineV; break;
00020 default:
00021
00022 return BfldGrid::kNearStdV;
00023 break;
00024 }
00025 break;
00026 case Detector::kFar:
00027 switch (coarseness) {
00028 case -1: return BfldGrid::kRect2dGrid; break;
00029 case 0: return BfldGrid::kFarCoarseV; break;
00030 case 1: return BfldGrid::kFarStdV; break;
00031 case 2: return BfldGrid::kFarFineV; break;
00032 default:
00033
00034 return BfldGrid::kFarStdV;
00035 break;
00036 }
00037 break;
00038 case Detector::kCalDet:
00039 return BfldGrid::kUndefined;
00040 break;
00041 default:
00042 printf("BfldGrid::GetGrid Detector_t %#x\n",detector);
00043 assert(0);
00044 return BfldGrid::kUndefined;
00045 break;
00046 }
00047 }
00048
00049
00050 Int_t BfldGrid::GetCoarseness(BfldGrid::Grid_t grid) {
00051
00052
00053
00054 switch (grid) {
00055 case BfldGrid::kRect2dGrid: return -1;
00056 case BfldGrid::kNearCoarseV: return 0;
00057 case BfldGrid::kNearStdV: return 1;
00058 case BfldGrid::kNearFineV: return 2;
00059 case BfldGrid::kFarCoarseV: return 0;
00060 case BfldGrid::kFarStdV: return 1;
00061 case BfldGrid::kFarFineV: return 2;
00062 default:
00063
00064 printf("BfldGrid::GetCoarseness Grid_t %#x\n",(int)grid);
00065 assert(0);
00066 return -1;
00067 break;
00068 }
00069 }
00070
00071