- if(sopt.Contains("dc")){
- SETFLG(fSteerParam, kDigitsConversion);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kDigitsConversion);
- continue;
- } else if(sopt.Contains("cw")){
- SETFLG(fSteerParam, kWriteClusters);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kWriteClusters);
- continue;
- } else if(sopt.Contains("sa")){
- SETFLG(fSteerParam, kSeeding);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kSeeding);
- continue;
- } else if(sopt.Contains("nn")){
- SETFLG(fSteerParam, kSteerPID);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kSteerPID);
- continue;
- } else if(sopt.Contains("8s")){
- SETFLG(fSteerParam, kEightSlices);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kEightSlices);
- continue;
- } else if(sopt.Contains("tw")){
- SETFLG(fSteerParam, kWriteTracklets);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kWriteTracklets);
- continue;
- } else if(sopt.Contains("ar")){
- SETFLG(fSteerParam, kDriftGas);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kDriftGas);
- continue;
- } else if(sopt.Contains("hlt")){
- SETFLG(fSteerParam, kHLT);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kHLT);
- continue;
- } else if(sopt.Contains("cos")){
- SETFLG(fSteerParam, kCosmic);
- if(sopt.Contains("!")) CLRFLG(fSteerParam, kCosmic);
- } else if(sopt.Contains("sl")){
+ for(Int_t iopt=0; iopt<kNsteer; iopt++){
+ if(!sopt.Contains(fgSteerFlags[iopt])) continue;
+ SETFLG(fSteerParam, BIT(iopt));
+ if(sopt.Contains("!")) CLRFLG(fSteerParam, BIT(iopt));
+ processed = kTRUE;
+ break;
+ }
+ // extra rules
+ if(sopt.Contains("gs") && !sopt.Contains("!")){
+ CLRFLG(fSteerParam, kLUT); processed = kTRUE;
+ }
+
+ if(processed) continue;
+
+ if(sopt.Contains("sl")){