/*************************************************************************************************************************************/ /* */ /* F O N C T I O N S D E D E F I N I T I O N E T D ' E D I T I O N D E S P A R T I C U L E S : */ /* */ /* */ /* Author of '$xrq/particle.M55$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1994??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N D E C R E A T I O N E T D ' I N I T I A L I S A T I O N D ' U N E P A R T I C U L E : */ /* */ /*************************************************************************************************************************************/ /* ATTENTION, la fonction 'iPARTICULE(...)' a ete introduite car, en effet, sinon, */ /* l'utilisation directe de la procedure '_iPARTICULE(...)' donnerait un code beaucoup */ /* trop volumineux... */ BFonctionI DEFV(Local,DEFV(FonctionI,iPARTICULE(particule ,nom ,reelle_ou_virtuelle ,particule_ou_antiparticule ,masse_au_repos ,portee_de_l_interaction ,longueur_d_onde ,helicite ,spin_s ,isospin_T ,nombre_leptonique_l ,nombre_baryonique_B ,parite_P ,etrangete_S ,charme_c ,beaute_b ,verite_t ,electrique ,faible ,couleur_R_V,couleur_V_B,couleur_B_R ,position_initiale_X,position_initiale_Y,position_initiale_Z ,vitesse_initiale_X,vitesse_initiale_Y,vitesse_initiale_Z ,moment_cinetique_X,moment_cinetique_Y,moment_cinetique_Z ,duree_de_vie ,visualiser ,rayon ,Couleur_R,Couleur_V,Couleur_B ) ) ) DEFV(Argument,DEFV(Particule,POINTERs(POINTERs(particule)))); DEFV(Argument,DEFV(Int,nom)); DEFV(Argument,DEFV(Int,reelle_ou_virtuelle)); DEFV(Argument,DEFV(Int,particule_ou_antiparticule)); DEFV(Argument,DEFV(Float,masse_au_repos)); DEFV(Argument,DEFV(Float,portee_de_l_interaction)); DEFV(Argument,DEFV(Float,longueur_d_onde)); DEFV(Argument,DEFV(Int,helicite)); DEFV(Argument,DEFV(Int,spin_s)); DEFV(Argument,DEFV(Float,isospin_T)); DEFV(Argument,DEFV(Int,nombre_leptonique_l)); DEFV(Argument,DEFV(Float,nombre_baryonique_B)); DEFV(Argument,DEFV(Int,parite_P)); DEFV(Argument,DEFV(Int,etrangete_S)); DEFV(Argument,DEFV(Int,charme_c)); DEFV(Argument,DEFV(Int,beaute_b)); DEFV(Argument,DEFV(Int,verite_t)); DEFV(Argument,DEFV(Float,electrique)); DEFV(Argument,DEFV(Float,faible)); DEFV(Argument,DEFV(Float,couleur_R_V)); DEFV(Argument,DEFV(Float,couleur_V_B)); DEFV(Argument,DEFV(Float,couleur_B_R)); DEFV(Argument,DEFV(Float,position_initiale_X)); DEFV(Argument,DEFV(Float,position_initiale_Y)); DEFV(Argument,DEFV(Float,position_initiale_Z)); DEFV(Argument,DEFV(Float,vitesse_initiale_X)); DEFV(Argument,DEFV(Float,vitesse_initiale_Y)); DEFV(Argument,DEFV(Float,vitesse_initiale_Z)); DEFV(Argument,DEFV(Float,moment_cinetique_X)); DEFV(Argument,DEFV(Float,moment_cinetique_Y)); DEFV(Argument,DEFV(Float,moment_cinetique_Z)); DEFV(Argument,DEFV(Float,duree_de_vie)); DEFV(Argument,DEFV(Logical,visualiser)); DEFV(Argument,DEFV(Float,rayon)); DEFV(Argument,DEFV(Float,Couleur_R)); DEFV(Argument,DEFV(Float,Couleur_V)); DEFV(Argument,DEFV(Float,Couleur_B)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _iPARTICULE(INDIRECT(particule) ,nom /* Nom. */ ,reelle_ou_virtuelle /* Reelle ou virtuelle ? */ ,particule_ou_antiparticule /* Particule ou anti-particule ? */ ,masse_au_repos /* Masse au repos 'm0'. */ ,portee_de_l_interaction /* Portee 'p' de l'interaction dans le cas d'un boson. */ ,longueur_d_onde /* Longueur d'onde 'lambda'. */ ,helicite /* Helicite 'h'. */ ,spin_s /* Spin (entier) 's'. */ ,isospin_T /* Isospin 'T'. */ ,nombre_leptonique_l /* Nombre leptonique. */ ,nombre_baryonique_B /* Nombre baryonique. */ ,parite_P /* Parite 'P'. */ ,etrangete_S /* Etrangete 'S'. */ ,charme_c /* Charme 'c'. */ ,beaute_b /* Beaute 'b'. */ ,verite_t /* Verite 't'. */ ,electrique /* Charge electrique. */ ,faible /* Charge faible. */ ,couleur_R_V,couleur_V_B,couleur_B_R /* Charges de couleur. */ ,position_initiale_X,position_initiale_Y,position_initiale_Z /* Position initiale (x0,y0,z0). */ ,vitesse_initiale_X,vitesse_initiale_Y,vitesse_initiale_Z /* Vitesse initiale (Vx0,Vy0,Vz0). */ ,moment_cinetique_X,moment_cinetique_Y,moment_cinetique_Z /* Moment cinetique (Lx0,Ly0,Lz0). */ ,duree_de_vie /* Duree de vie. */ ,visualiser /* Faut-il visualiser cette particule ? */ ,rayon /* Rayon de la particule. */ ,Couleur_R,Couleur_V,Couleur_B /* Couleur {R,V,B} de visualisation de la particule. */ ); /* Creation et initialisation d'une particule quelconque... */ RETU_ERROR; Eblock EFonctionI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N S D ' E D I T I O N D ' U N E P A R T I C U L E : */ /* */ /*************************************************************************************************************************************/ /* ATTENTION, ces fonctions ont du etre introduites a cause du volume du programme alors */ /* genere. Cela a d'ailleurs fait l'objet de l'appel 17371 du 1994040700... */ BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_Int(condition,message,valeur))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(Int,valeur)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_Int(condition,message,valeur); RETU_ERROR; Eblock EFonctionI BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_rationnel(condition,message,valeur,denominator))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(Float,valeur)); DEFV(Argument,DEFV(Int,denominator)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_rationnel(condition,message,valeur,denominator); RETU_ERROR; Eblock EFonctionI BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_Float(condition,message,valeur))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(Float,valeur)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_Float(condition,message,valeur); RETU_ERROR; Eblock EFonctionI BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_rationnel_vecteur(condition,message,composante_1,composante_2,composante_3,denominator))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(Float,composante_1)); DEFV(Argument,DEFV(Float,composante_2)); DEFV(Argument,DEFV(Float,composante_3)); DEFV(Argument,DEFV(Int,denominator)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_rationnel_vecteur(condition,message,composante_1,composante_2,composante_3,denominator); RETU_ERROR; Eblock EFonctionI BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_Float_vecteur(condition,message,composante_1,composante_2,composante_3))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(Float,composante_1)); DEFV(Argument,DEFV(Float,composante_2)); DEFV(Argument,DEFV(Float,composante_3)); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_Float_vecteur(condition,message,composante_1,composante_2,composante_3); RETU_ERROR; Eblock EFonctionI BFonctionI DEFV(Local,DEFV(FonctionI,pPARTICULE_CHAR(condition,message,valeur))) DEFV(Argument,DEFV(Logical,condition)); DEFV(Argument,DEFV(CHAR,DTb0(message))); DEFV(Argument,DEFV(CHAR,DTb0(valeur))); /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ _pPARTICULE_CHAR(condition,message,valeur); RETU_ERROR; Eblock EFonctionI