How use arduino uno for single channel analyzer

I have project to count pulse if the pulse value is greather than low level discriminator using adc, it is allright ? I use to count pulse from amplifier nuclear counting system

volatile int LLD;
volatile int ULD;
volatile int DIGITAL;
volatile unsigned long COUNT;

void setup(){
attachInterrupt(2, sca, RISING); //define external interrupts 

void loop(){
Serial.print("ULD =");
Serial.print (ULD);
Serial.print ("  DIGITAL =");
Serial.print (DIGITAL);
Serial.print ("  LLD =");
Serial.print (LLD);
Serial.print ("  count =");
Serial.println (COUNT);
delay (1000);

void sca() { // int0 rising di pin 2
volatile int DIGITAL = analogRead(A0);
volatile int LLD = 200;
volatile int ULD = 900;
 if  ( LLD < DIGITAL && DIGITAL < ULD ){
attachInterrupt(2, sca, RISING); //define external interrupts

You don't say what Arduino that you are using, but, on an Uno (or 328 based), external interrupts are 0 (pin 2) and 1 (pin 3).

The variables that you declare inside of the ISR are local in scope to the ISR. When the ssketch exits from the ISR those variables no longer exost. When you print the values of the variables, you are printing the values of the global scope variables that are declared above setup(). Those variables are never changed from 0 (variables declared globally are automatically 0).

Yeah you right, the variabel wrong declare but my concern is the accuracy of counter while analog read in interuppt, it is accurate or not?