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.
00191 : coord(_coord) 00192 { 00193 value = getList(s,","); 00194 if(value.size() == 3) { 00195 double a = value[0]; 00196 double b = value[1]; 00197 double c = value[2]; 00198 value.clear(); 00199 if(c > 0.0 && b >= a) { 00200 for(double v=a; v<=b; v+= c) 00201 value.push_back(v); 00202 } 00203 } else { 00204 value = getList(s,":"); 00205 } 00206 if(value.size() == 0) { 00207 printError("Invalid coordinate loop."); 00208 value.push_back(0.0); 00209 } 00210 index = 0; 00211 coord = value[0]; 00212 }
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] |