/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.