private boolean parseParticleID(String text){
        //System.err.println("[DEBUG] ---> parsing particle ID = " + text);
        if(text.length()==1&&(text.compareTo("+")==0
                ||text.compareTo("-")==0||text.compareTo("n")==0)){
            particleID   = 0;
            particleType = text;
            return true;
        }
        
        if(text.compareTo("b")==0){
            particleID   = 5000;
            particleType = "beam";
            return true;
        }
        
        if(text.compareTo("t")==0){
            particleID   = 5001;
            particleType = "target";
            return true;
        }
        
        //System.err.println("TEXT = " + text + "  Check = " + text.matches("[0-9]+"));
        
        if (text.matches("-?[0-9]+") == true && text.length() > 0){
            particleID   = Integer.parseInt(text);
            particleType = text;
            return true;
        } else {
            PDGParticle particle = PDGDatabase.getParticleByName(text);
            if(particle!=null){
                particleID   = particle.pid();
                particleType = text; 
                return true;
            } else {
                return false;
            }            
            //System.err.println("Parsing as number : " + text);            
        }
    }