                                );
     eavlExecutor::Go();
     //--
-	
+
 
 	//----perform reduction
 	eavlIntArray *totalInterestingIds = new eavlIntArray("totalInterestingIds", 1, 1);

    eavlField *inField = dataset->GetField(fieldname);
    eavlArray *arrayToOperateOn = inField->GetArray();
    eavlIntArray *mapOutput = new eavlIntArray("inSelection", 1, arrayToOperateOn->GetNumberOfTuples());
    
    
    //----dump interesting paticles to array that qsort can use
    int constArray_raw[chosenElements->GetNumberOfTuples()];
    #pragma omp parallel for
    for(int n = 0 ; n < chosenElements->GetNumberOfTuples(); n++ ) 
    {
        constArray_raw[n] = chosenElements->GetValue(n);

    }
        
    if(!presorted)
    {
        qsort(constArray_raw, chosenElements->GetNumberOfTuples(), sizeof(int), cmpfunc);
    }
   
    //----put elements in const array for use in fuctor
    eavlConstArray<int> *constArray;
    INIT(eavlConstArray<int>,  constArray,  chosenElements->GetNumberOfTuples());
    //--
    
    //----perform map with custom selection fuctor
    eavlExecutor::AddOperation(new_eavlMapOp( eavlOpArgs(arrayToOperateOn),
                                              eavlOpArgs(mapOutput),

    }
    //--
}
