Faits:
Faits:
A. La société anonyme A._ exploite le Centre cantonal de tri des déchets de chantier, à Coffrane, en vertu d'une convention conclue avec l'Etat de Neuchâtel en avril 1993.
Le 5 mars 1997, le Conseil d'Etat du canton de Neuchâtel a adopté un arrêté concernant les déchets de chantier, qui rend obligatoire le tri de ces déchets soit sur les chantiers, par bennes multiples, selon les recommandations de la Société suisse des entrepreneurs, soit au centre de tri mécanisé exploité par A._ à Coffrane. Cet arrêté a été abrogé et remplacé par un arrêté du 22 août 2000, entré en vigueur le 1er décembre 2000, qui reprend telle quelle cette obligation et qui autorise A._ à percevoir, auprès des détenteurs de déchets mélangés, une taxe de prise en charge de 125 fr. le mètre cube.
Le 19 novembre 2002, A._ a déposé une plainte pénale contre le ou les responsables de la société anonyme B._ pour escroquerie et infractions aux lois cantonales sur la protection de l'environnement et sur le tri des déchets. Elle soupçonnait cette entreprise de ne pas se conformer à l'arrêté du 5 mars 1997 précité, qui imposait le tri des déchets soit sur les chantiers, soit auprès d'elle. Il ressort de l'enquête préalable menée par la police cantonale neuchâteloise que la société B._ aurait entreposé sur divers sites du littoral neuchâtelois de nombreuses bennes de déchets de chantier pour les trier elle-même, au tarif pratiqué par A._ pour l'évacuation et le traitement des déchets non triés, au lieu de les acheminer au centre cantonal de tri de Coffrane.
Par ordonnance pénale du 28 mars 2003, le Ministère public du canton de Neuchâtel a condamné l'administrateur de la société B._, C._, à une amende de 10'000 fr. pour avoir contrevenu à diverses dispositions de la loi cantonale concernant le traitement des déchets et à l'arrêté cantonal concernant les déchets de chantier. C._ a fait opposition le 2 avril 2003.
Le 1er mai 2003, A._ est intervenue auprès du Tribunal de police du district de Neuchâtel pour être admise à la procédure en qualité de plaignante.
Par ordonnance du 10 juillet 2003, le Ministère public du canton de Neuchâtel a renvoyé C._ devant cette autorité comme prévenu d'infractions à la loi cantonale concernant le traitement des déchets et à l'arrêté cantonal concernant le tri des déchets de chantier, en requérant contre lui une peine de 10'000 fr. d'amende.
Donnant suite à une demande du prévenu du 7 août 2003, le Président suppléant du Tribunal de police du district de Neuchâtel a, par ordonnance du 18 novembre 2003, écarté l'intervention de A._ dans le procès pénal dirigé contre C._, au motif que cette société n'était pas directement lésée par les infractions dénoncées.
Par arrêt du 25 juin 2004, la Cour de cassation pénale du Tribunal cantonal du canton de Neuchâtel (ci-après: la Cour de cassation pénale ou la cour cantonale) a rejeté le pourvoi en cassation formé par A._ contre cette décision. Elle a estimé en substance que les prescriptions prétendument violées n'avaient pas pour finalité, même accessoire, de protéger les intérêts économiques de la recourante et que la diminution du chiffre d'affaires invoquée ne constituait qu'une lésion indirecte subie par une société anonyme qui ne pouvait prétendre au statut de collectivité publique.
Par arrêt du 25 juin 2004, la Cour de cassation pénale du Tribunal cantonal du canton de Neuchâtel (ci-après: la Cour de cassation pénale ou la cour cantonale) a rejeté le pourvoi en cassation formé par A._ contre cette décision. Elle a estimé en substance que les prescriptions prétendument violées n'avaient pas pour finalité, même accessoire, de protéger les intérêts économiques de la recourante et que la diminution du chiffre d'affaires invoquée ne constituait qu'une lésion indirecte subie par une société anonyme qui ne pouvait prétendre au statut de collectivité publique.
B. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt. Elle reproche à la cour cantonale d'avoir écarté arbitrairement son intervention dans la procédure pénale dirigée contre C._ en tant que partie plaignante.
La Cour de cassation pénale se réfère à son arrêt. Le Ministère public du canton de Neuchâtel a renoncé à déposer des observations.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Le Tribunal fédéral examine d'office et librement la recevabilité des recours qui lui sont soumis (ATF 130 II 321 consid. 1 p. 324 et les arrêts cités).
1.1 En vertu de l'art. 84 al. 2 OJ, le recours de droit public n'est recevable que dans la mesure où les griefs soulevés ne peuvent pas être présentés au Tribunal fédéral par un autre moyen de droit, tel que le pourvoi en nullité à la Cour de cassation pénale du Tribunal fédéral. Celui-ci est ouvert contre les ordonnances de non-lieu rendues en dernière instance cantonale (art. 268 ch. 2 PPF), en particulier au plaideur à qui l'autorité conteste le droit de porter plainte selon l'art. 28 CP (art. 270 let. f PPF; ATF 128 IV 37 consid. 3 p. 38, 92 consid. 4c p. 96, 232 consid. 3.2 p. 236; 127 IV 185 consid. 2 p. 188). Par ordonnance de non-lieu, il faut entendre toute décision qui met fin à l'action pénale, au moins sur un chef d'accusation, et qui est rendue par une autre autorité que la juridiction de jugement (ATF 119 IV 92 consid. 1b p. 95; 117 IV 233 consid. 1b p. 235). On peut laisser indécise la question de savoir si l'arrêt attaqué répond à cette définition car, pour être applicable, l'art. 270 let. f PPF suppose que les infractions dénoncées se poursuivent sur plainte. Tel n'est pas le cas en l'espèce, de sorte que seule la voie du recours de droit public pour violation des droits constitutionnels des citoyens est ouverte.
1.2 Le refus de reconnaître la qualité de partie plaignante à A._ revêt un caractère final pour cette société qui est définitivement privée de la possibilité d'intervenir dans la procédure pénale dirigée contre C._ pour faire valoir ses éventuelles prétentions. Le recours est donc recevable au regard de l'art. 86 al. 1 OJ. La recourante, qui prétend remplir les conditions de la loi cantonale pour avoir le droit de participer à la procédure comme partie plaignante, a qualité pour recourir au sens de l'art. 88 OJ contre une décision lui déniant ce droit (cf. ATF 121 I 42 consid. 2e p. 47; 119 Ia 4 consid. 1 p. 5). Les autres conditions de recevabilité du recours de droit public sont remplies et il y a lieu d'entrer en matière.
1.2 Le refus de reconnaître la qualité de partie plaignante à A._ revêt un caractère final pour cette société qui est définitivement privée de la possibilité d'intervenir dans la procédure pénale dirigée contre C._ pour faire valoir ses éventuelles prétentions. Le recours est donc recevable au regard de l'art. 86 al. 1 OJ. La recourante, qui prétend remplir les conditions de la loi cantonale pour avoir le droit de participer à la procédure comme partie plaignante, a qualité pour recourir au sens de l'art. 88 OJ contre une décision lui déniant ce droit (cf. ATF 121 I 42 consid. 2e p. 47; 119 Ia 4 consid. 1 p. 5). Les autres conditions de recevabilité du recours de droit public sont remplies et il y a lieu d'entrer en matière.
2. A._ reproche à la cour cantonale d'avoir fait preuve d'arbitraire en refusant de lui reconnaître la qualité de partie plaignante dans la procédure pénale dirigée contre C._, alors qu'elle serait directement lésée par l'activité répréhensible de l'entreprise B._. Elle dénonce l'application faite en l'occurrence de l'art. 51 du Code de procédure pénale neuchâtelois (CPP neuch.).
2.1 Une décision est arbitraire et, partant, contraire à l'art. 9 Cst., lorsqu'elle méconnaît gravement une norme ou un principe juridique clair et indiscuté ou lorsqu'elle heurte de manière choquante le sentiment de la justice ou de l'équité. Le Tribunal fédéral ne s'écarte de la solution retenue en dernière instance cantonale que si elle est insoutenable, en contradiction manifeste avec la situation effective, si elle a été adoptée sans motif objectif ou en violation d'un droit certain. Il ne suffit pas que la motivation de la décision soit insoutenable; encore faut-il qu'elle soit arbitraire dans son résultat (ATF 129 I 173 consid. 3 p. 178), ce qu'il appartient à la recourante de démontrer (art. 90 al. 1 let. b OJ; ATF 124 I 247 consid. 5 p. 250).
2.2 En vertu de l'art. 49 al. 1 CPP neuch., a qualité de plaignant toute personne qui se déclare directement lésée par une infraction et qui a soit porté plainte, soit déclaré vouloir intervenir dans le procès pénal. Suivant l'art. 51 CPP neuch., le juge peut, d'office ou sur requête, jusqu'à l'ouverture des débats, écarter l'intervention du plaignant, s'il se révèle que celui-ci n'est pas directement lésé par l'infraction.
Selon la jurisprudence cantonale, la notion de lésé au sens de l'art. 49 al. 1 CPP neuch. correspond à celle de l'art. 28 CP, qui reconnaît le droit de porter plainte à toute personne lésée lorsqu'une infraction n'est punie que sur plainte (arrêt de la Chambre d'accusation du canton de Neuchâtel du 12 décembre 2000, consid. 3b paru à la RJN 2001 p. 201). Cette jurisprudence n'est pas contestée et ne saurait être taxée d'arbitraire (cf. ATF 117 Ia 135 consid. 2). Seul le titulaire du bien juridique directement atteint par l'acte punissable est lésé au sens de l'art. 28 al. 1 CP et, partant, habilité à déposer plainte à raison de cet acte (ATF 121 IV 258 consid. 2b p. 260; 118 IV 209 consid. 2 p. 211). Pour déterminer quel est le titulaire du bien juridique protégé, il faut se référer à l'infraction en cause (ATF 121 IV 258 consid. 2c p. 260; 118 IV 209 consid. 2 p. 211). S'agissant de droits strictement personnels, tels que l'honneur ou le secret professionnel, est seul lésé le titulaire du droit lui-même; en ce qui concerne les autres biens protégés, d'autres personnes que leur titulaire peuvent aussi avoir un intérêt juridiquement protégé à leur exercice et donc qualité pour déposer plainte. Tel est le cas de celui qui est directement touché dans la sphère de ses intérêts ou de celui à qui incombe la responsabilité de conserver la chose ou encore de celui qui a un intérêt accru à l'usage ou à la conservation de celle-ci (ATF 121 IV 158 consid. 2c p. 260; 118 IV 209 consid. 3b p. 212; arrêt 6S.623/2000 du 29 mars 2001 consid. 2a; voir aussi à ce sujet, Christof Riedo, Basler Kommentar, Strafgesetzbuch I, 2003, ch. 8 à 10 ad art. 28, p. 354, pour qui la qualité de plaignant doit être limitée à celui qui a un intérêt protégé de même nature que le titulaire du bien protégé par la norme pénale violée). Ainsi, la jurisprudence a reconnu la qualité pour porter plainte pour dommage à la propriété non pas au seul propriétaire, mais à tout ayant droit privé de l'usage de la chose, alors même que cette infraction vise en premier lieu à protéger la propriété (ATF 117 IV 437 consid. 1b p. 439).
2.3 C._ a été renvoyé en jugement devant le Tribunal de police du district de Neuchâtel pour avoir contrevenu aux art. 3 al. 2, 9 et 11 de la loi cantonale concernant le traitement des déchets et aux art. 1 et 4 de l'arrêté cantonal concernant les déchets de chantier. Ces dispositions rendent obligatoire l'acheminement des déchets de chantier au centre de tri mécanisé exploité par A._ pour les détenteurs de déchets mélangés qui ne sont pas au bénéfice d'une autorisation de traitement; elles tendent à garantir une valorisation et une élimination des déchets respectueuse de l'environnement (Michael Alkalay, Umweltstrafrecht im Geltungsbereich des USG, Zurich 1992, p. 149; Message du Conseil fédéral relatif à une révision de la loi fédérale sur la protection de l'environnement, FF 1993 II 1390); elles ont été édictées exclusivement dans l'intérêt général et ne visent pas, même à titre accessoire, à protéger les intérêts privés économiques de l'exploitant du centre de tri et, en particulier, à garantir l'encaissement des taxes que la loi l'autorise à prélever auprès des détenteurs de déchets mélangés en contrepartie de la prise en charge des déchets. Le bien juridique protégé est l'environnement en tant que tel (cf. Peter Ettler, Kommentar zum Umweltschutzgesetz, Zurich, janvier 2003, Vorbemerkungen ad art. 60-62, ch. 16, p. 11). Le titulaire du bien juridique violé est donc l'Etat, à l'exclusion des personnes privées qui ne peuvent, le cas échéant, qu'être atteintes indirectement par la violation de la règle de comportement imposée aux détenteurs de déchets de chantier, qui ne sont pas au bénéfice d'une autorisation de traitement.
Au demeurant, l'infraction est réalisée dès que ces derniers procèdent au traitement des déchets de chantier au lieu de les acheminer au centre de tri prévu à cet effet; elle est indépendante de toute atteinte concrète à l'environnement. Il s'agit ainsi d'un pur délit de mise en danger abstrait, qui, par définition, n'implique aucun lésé direct (cf. Peter Ettler, op. cit., ch. 156 ad art. 60, p. 45, et ch. 168 ad art. 60, p. 48; Anne Petitpierre, Portée et limite du droit pénal dans la protection de l'environnement, RPS 1984 p. 287). Certes, par son comportement, B._ Transports SA a privé la recourante des taxes qu'elle aurait été en droit d'exiger de cette entreprise pour la prise en charge des déchets de chantier, si celle-ci avait respecté l'obligation que lui fait la loi de les acheminer au centre de tri de Coffrane. Le manque à gagner subi par A._ n'est toutefois qu'une conséquence indirecte de l'infraction, insuffisante pour lui reconnaître la qualité de lésé direct, au sens des art. 49 al. 1 et 51 CPP neuch., et de plaignant dans la procédure pénale dirigée contre le contrevenant. Même si elle a un intérêt évident à ce que la culpabilité de C._ soit établie dans l'hypothèse d'une éventuelle action en dommages-intérêts, cet intérêt n'est pas juridiquement protégé par les normes violées. Enfin, le fait que la recourante accomplit une tâche de puissance publique sur délégation du canton ne suffit pas encore à lui reconnaître le droit de porter plainte en lieu et place des autorités d'exécution cantonales compétentes pour ce faire et de se substituer à l'Etat en qualité de plaignant dans la procédure pénale ouverte contre le contrevenant, en cas de violation des règles de comportement auxquelles les détenteurs de déchets doivent se soumettre.
2.4 Vu ce qui précède, le refus de reconnaître à la recourante la qualité de partie plaignante dans la procédure pénale dirigée contre C._ échappe au grief d'arbitraire.
2.4 Vu ce qui précède, le refus de reconnaître à la recourante la qualité de partie plaignante dans la procédure pénale dirigée contre C._ échappe au grief d'arbitraire.
3. Le recours doit par conséquent être rejeté aux frais de la recourante, qui succombe (art. 156 al. 1 OJ). Les autorités concernées ne sauraient prétendre à des dépens.
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. Un émolument judiciaire de 3'000 fr. est mis à la charge de la recourante.
2. Un émolument judiciaire de 3'000 fr. est mis à la charge de la recourante.
3. Le présent arrêt est communiqué en copie au mandataire de la recourante, ainsi qu'au Ministère public et à la Cour de cassation pénale du Tribunal cantonal du canton de Neuchâtel.
Lausanne, le 4 octobre 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: