Public Member Functions | |
Loop (double &_coord, G4String s) | |
void | start () |
bool | next () |
Private Attributes | |
double & | coord |
std::vector< double > | value |
unsigned | index |
BLCMDfieldntuple::Loop::Loop | ( | double & | _coord, | |
G4String | s | |||
) |
References coord, BLCommand::getList(), index, BLCommand::printError(), and value.
00192 : coord(_coord) 00193 { 00194 value = getList(s,","); 00195 if(value.size() == 3) { 00196 double a = value[0]; 00197 double b = value[1]; 00198 double c = value[2]; 00199 value.clear(); 00200 if(c > 0.0 && b >= a) { 00201 for(double v=a; v<=b; v+= c) 00202 value.push_back(v); 00203 } 00204 } else { 00205 value = getList(s,":"); 00206 } 00207 if(value.size() == 0) { 00208 printError("Invalid coordinate loop."); 00209 value.push_back(0.0); 00210 } 00211 index = 0; 00212 coord = value[0]; 00213 }
void BLCMDfieldntuple::Loop::start | ( | ) | [inline] |
bool BLCMDfieldntuple::Loop::next | ( | ) | [inline] |
double& BLCMDfieldntuple::Loop::coord [private] |
std::vector<double> BLCMDfieldntuple::Loop::value [private] |
unsigned BLCMDfieldntuple::Loop::index [private] |