if (ptc->raw_acc < 65 && ptc->raw_gyro > 100 && ptc->signal_noise < 22.0f && ptc->vel_v > 4.0f && ptc->gyroX > 190 ) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 1;
    }
}

else if (ptc->raw_acc < 65 && ptc->raw_gyro > 100 && ptc->signal_noise < 22.0f && ptc->vel_v > 4.0f && ptc->gyroX < 190 && ptc->gyroZ > 90) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 1;
    }
}
else if (ptc->raw_acc < 60 && ptc->raw_gyro > 120 && ptc->signal_noise < 17.0f && ptc->vel_v > 10.5f && ptc->gyroX > 135) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 2;
    }
}

else if (ptc->raw_acc < 60 && ptc->raw_gyro > 120 && ptc->signal_noise < 17.0f && ptc->vel_v > 10.5f && ptc->gyroX < 135 && ptc->gyroZ > 90) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 2;
    }
}
else if (*ptf >= 0.50f) {

    if (*ptf < 0.55f) {
        goto down_decision_upper_50;
    }
    else if (*ptf < 0.60f) {
        goto down_decision_upper_55;
    }
    else if (*ptf < 0.65f) {
        goto down_decision_upper_60;
    }
    else if (*ptf < 0.70f) {
        goto down_decision_upper_65;
    }
    else if (*ptf < 0.75f) {
        goto down_decision_upper_70;
    }
    else if (*ptf < 0.80f) {
        goto down_decision_upper_75;
    }
    else if (*ptf < 0.85f) {
        goto down_decision_upper_80;
    }
    else if (*ptf < 0.90f) {
        goto down_decision_upper_85;
    }
    else if (*ptf < 0.95f) {
        goto down_decision_upper_90;
    }

    else {
        goto down_decision_upper_95;
    }
}
else {
    if (pObj->snr_counter > 0) {
        pObj->snr_counter = 0;
     }
    return 0;
}
return 0;

down_decision_upper_95:
if (ptc->raw_acc < 85 && ptc->raw_gyro > 10 && ptc->signal_noise < 30.0f && ptc->vel_v > 2.5f && ptc->jerk <= 5) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 3;
    }
}

else {
    goto down_decision_upper_90;
}

return 0;


down_decision_upper_90:
    if (ptc->raw_acc < 90 && ptc->raw_gyro > 140 && ptc->signal_noise < 23.0 && ptc->gyroX > 45) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 4;
        }
    }
    else if (ptc->raw_acc < 90 && ptc->raw_gyro > 140 && ptc->signal_noise < 23.0f && ptc->gyroX < 45 && ptc->gyroZ > 60) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 4;
        }
    }

    else if (ptc->raw_acc < 85 && ptc->raw_gyro > 20 && ptc->signal_noise < 23.0f && ptc->vel_v > 0.1f && ptc->jerk < 0 && ptc->gyroX > 0) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 5;
        }
    }
    else if (ptc->raw_acc < 85 && ptc->raw_gyro > 20 && ptc->signal_noise < 23.0f && ptc->vel_v > 0.1f && ptc->jerk < 0 && ptc->gyroX < 0 && ptc->gyroZ > 20) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 5;
        }
    }
   
    else if (ptc->raw_acc < 95 && ptc->raw_gyro > 100 && ptc->signal_noise < 18.0f && ptc->vel_v > 5.0f && ptc->gyroX > 60) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 6;
        }
    }
    else if (ptc->raw_acc < 95 && ptc->raw_gyro > 100 && ptc->signal_noise < 18.0f && ptc->vel_v > 5.0f && ptc->gyroX < 60 && ptc->gyroZ > 60) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 6;
        }
    }
    
    else {
        goto down_decision_upper_85;
    }

    return 0;

    

down_decision_upper_85:
   if (ptc->raw_acc < 100 && ptc->raw_gyro > 60 && ptc->signal_noise < 30.0f && ptc->vel_v > 4.5f && ptc->gyroX > 30 && ptc->jerk <= 5) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 7;
        }
    }
   else if (ptc->raw_acc < 100 && ptc->raw_gyro > 60 && ptc->signal_noise < 30.0f && ptc->vel_v > 4.5f && ptc->gyroX < 30 && ptc->gyroZ > 60 && ptc->jerk <= 5) {
       pObj->snr_counter++;
       if (pObj->snr_counter >= 3) {
           return 7;
       }
   }
   else if (ptc->raw_acc < 80 && ptc->raw_gyro > 80&& ptc->signal_noise < 9.0f && ptc->vel_v > 4.0f && ptc->gyroX > 30) {
       pObj->snr_counter++;
       if (pObj->snr_counter >= 3) {
           return 8;
       }
   }
   else if (ptc->raw_acc < 80 && ptc->raw_gyro > 80 && ptc->signal_noise < 9.0f && ptc->vel_v > 4.0f && ptc->gyroX < 30 && ptc->gyroZ > 60) {
       pObj->snr_counter++;
       if (pObj->snr_counter >= 3) {
           return 8;
       }
   }
    else {
        goto down_decision_upper_80;
    }
   return 0;


down_decision_upper_80:
    if (ptc->raw_acc < 80 && ptc->raw_gyro > 110 && ptc->signal_noise < 20.5f && ptc->vel_v > 1.0f && ptc->gyroX > 30) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 9;
        }
    }
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 110 && ptc->signal_noise < 20.5f && ptc->vel_v > 1.0f && ptc->gyroX < 30 && ptc->gyroZ > 25) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 9;
        }
    }
    else if (ptc->raw_acc < 95 && ptc->raw_gyro > 150 && ptc->signal_noise < 21.5f && ptc->vel_v > 0.1f && ptc->gyroX > 150 && ptc->jerk <= 10) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 10;
        }
    }
    else if (ptc->raw_acc < 95 && ptc->raw_gyro > 150 && ptc->signal_noise < 21.5f && ptc->vel_v > 0.1f && ptc->gyroX < 150 && ptc->gyroZ > 70 && ptc->jerk <= 10) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 10;
        }
    }
    else if (ptc->raw_acc < 110 && ptc->raw_gyro > 15 && ptc->signal_noise < 26.5f && ptc->vel_v > 7.0f && ptc->gyroX > 100) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 11;
        }
    }
    else if (ptc->raw_acc < 110 && ptc->raw_gyro > 15 && ptc->signal_noise < 26.5f && ptc->vel_v > 7.0f && ptc->gyroX < 100 && ptc->gyroZ > 100) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 11;
        }
    }
    else if (ptc->raw_acc < 90 && ptc->raw_gyro > 90 && ptc->signal_noise < 25.0f && ptc->vel_v > 5.5f && ptc->gyroX > 150) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return  12;
        }
    }
    else if (ptc->raw_acc < 90 && ptc->raw_gyro > 90 && ptc->signal_noise < 25.0f && ptc->vel_v > 5.5f && ptc->gyroX < 150 && ptc->gyroZ > 70) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 12;
        }
    }
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 40 && ptc->signal_noise < 24.0f && ptc->vel_v > 8.0f) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 13;
        }
    }
    else if (ptc->raw_acc < 75 && ptc->raw_gyro > 150 && ptc->signal_noise < 22.0f && ptc->vel_v > 2.0f && ptc->gyroX > 30) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 14;
        }
    }
    else if (ptc->raw_acc < 75 && ptc->raw_gyro > 150 && ptc->signal_noise < 22.0f && ptc->vel_v > 2.0f && ptc->gyroX < 30 && ptc->gyroZ > 25) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 14;
        }
    }

    else {
        goto down_decision_upper_75;
    }
    return 0;


down_decision_upper_75:
    if (ptc->raw_acc < 90 && ptc->raw_gyro > 10 && ptc->signal_noise < 34.0f && ptc->vel_v > 1.0f && ptc->gyroX > 100) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 15;
        }
    }
    else if (ptc->raw_acc < 90 && ptc->raw_gyro > 10 && ptc->signal_noise < 34.0f && ptc->vel_v > 1.0f && ptc->gyroX < 100 && ptc->gyroZ > 100) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 15;
        }
    }
    
    else if (ptc->raw_acc < 120 && ptc->raw_gyro > 150 && ptc->signal_noise < 17.0f && ptc->vel_v > 0.3f && ptc->gyroX > 60 && ptc->jerk <= 5) {
        pObj->snr_counter++; 
        if (pObj->snr_counter >= 3) {
            return 16;
        }
    }
    else if (ptc->raw_acc < 120 && ptc->raw_gyro > 150 && ptc->signal_noise < 17.0f && ptc->vel_v > 0.3f && ptc->gyroX < 60 && ptc->gyroZ > 15 && ptc->jerk <= 5) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 16;
        }
    }
    
    else if (ptc->raw_acc < 120 && ptc->raw_gyro > 30 && ptc->signal_noise < 17.0f && ptc->vel_v > 6.0f && ptc->gyroX > 45 && ptc->jerk <= 3) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 17;
        }
    }
    else if (ptc->raw_acc < 120 && ptc->raw_gyro > 30 && ptc->signal_noise < 17.0f && ptc->vel_v > 6.0f && ptc->gyroX < 45 && ptc->gyroZ > 40 && ptc->jerk <= 3) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 17;
        }
    }
    
    else {
        goto down_decision_upper_70;
    }
    return 0;


down_decision_upper_70:
    if (ptc->raw_acc < 80 && ptc->raw_gyro > 40 && ptc->signal_noise < 26.0f && ptc->vel_v > 3.5f && ptc->gyroX > 100) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 18;
        }
    }
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 40 && ptc->signal_noise < 26.0f && ptc->vel_v > 3.5f && ptc->gyroX < 100 && ptc->gyroZ > 100)  {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 18;
        }
    }
    
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 40 && ptc->signal_noise < 19.0f && ptc->vel_v > 4.0f && ptc->gyroX > 40 && ptc->jerk <= 3) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 19;
        }
    }
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 40 && ptc->signal_noise < 19.0f && ptc->vel_v > 4.0f && ptc->gyroX < 40 && ptc->gyroZ > 20 && ptc->jerk <= 3) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 19;
        }
    }
    
    else if (ptc->raw_acc < 75 && ptc->raw_gyro > 70 && ptc->signal_noise < 22.5f && ptc->vel_v > 1.5f && ptc->gyroX > 140) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 20;
        }
    }
    else if (ptc->raw_acc < 75 && ptc->raw_gyro > 70 && ptc->signal_noise < 22.5f && ptc->vel_v > 1.5f && ptc->gyroX < 140 && ptc->gyroZ > 85) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 20;
        }
    }
    
    else if (ptc->raw_acc < 30 && ptc->raw_gyro > 50 && ptc->signal_noise < 10.0f && ptc->vel_v > 14.0f) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 21;
        }
    }
    else {
        goto down_decision_upper_65;
    }
    return 0;

down_decision_upper_65:
    if (ptc->raw_acc < 70 && ptc->raw_gyro > 40 && ptc->signal_noise < 20.0f && ptc->vel_v >4.5f && ptc->gyroX > 180) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 22;
        }
    }
    else if (ptc->raw_acc < 85 && ptc->raw_gyro > 70 && ptc->signal_noise < 19.0f && ptc->vel_v > 5.0f && ptc->gyroX < 180 && ptc->gyroZ > 60) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 22;
        }
    }
    else {
        goto down_decision_upper_60;
    }
    return 0;

down_decision_upper_60:
    if (ptc->raw_acc < 80 && ptc->raw_gyro > 65 && ptc->signal_noise < 19.0f && ptc->vel_v > 5.0f && ptc->gyroX > 200) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 23;
        }
    }
    else if (ptc->raw_acc < 80 && ptc->raw_gyro > 65 && ptc->signal_noise < 19.0f && ptc->vel_v > 5.0f && ptc->gyroX < 200 && ptc->gyroZ > 30) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 23;
        }
    }
    else {
        goto down_decision_upper_55;
    }
    return 0;

down_decision_upper_55:
    if (ptc->raw_acc < 60 && ptc->raw_gyro > 80 && ptc->signal_noise < 18.0f && ptc->vel_v > 5.5f && ptc->gyroX > 200) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 24;
        }
    }
    else if (ptc->raw_acc < 60 && ptc->raw_gyro > 80 && ptc->signal_noise < 18.0f && ptc->vel_v > 5.5f && ptc->gyroX < 200 && ptc->gyroZ > 30) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 24;
        }
    }
    else {
        goto down_decision_upper_50;
    }
    return 0;




down_decision_upper_50: 
    if (ptc->raw_acc < 110 && ptc->raw_gyro > 220 && ptc->signal_noise < 17.0f && ptc->vel_v > 1.0f && ptc->gyroX > 200 && ptc->jerk <= 0) {
    pObj->snr_counter++;
    if (pObj->snr_counter >= 3) {
        return 25;
        }
    }
    else if (ptc->raw_acc < 110 && ptc->raw_gyro > 220 && ptc->signal_noise < 17.0f && ptc->vel_v > 1.0f && ptc->gyroX > 200 && ptc->gyroZ > 100 && ptc->jerk <= 0) {
        pObj->snr_counter++;
        if (pObj->snr_counter >= 3) {
            return 25;
        }
    }
    else {
        if (pObj->snr_counter > 0) {
            pObj->snr_counter = 0;
        }
        return 0;
    }
    return 0;
    