MEGEVE package structure

The package MEGEVE contains a list of interesting events which are selected by means of the input variable ITYPE (integer). The implemented events are listed below.
Type of event
e+ - gamma signal
52.8 MeV positron and gamma are generated back to back
e+ - gamma radiative decay
Radiative decay events; correlated background
e+ - gamma accidental background;  1st kind
Positron from Michel spectrum; gamma from radiative decay. Uncorrelated background
e+ - gamma accidental background;  2nd kind
Positron from Michel spectrum; gamma from annihilation in flight. Uncorrelated background
e+ only signal
52.8 MeV positron
e+ only background
Positron from Michel spectrum
gamma only signal
52.8 MeV gamma
gamma only background; 1st kind
Gamma from radiative decay
gamma only background; 2nd kind
Gamma from annihilation in flight
gamma only for studying detector response
Gamma with flat spectrum


The flow chart of the package is shown here.


In addition to the routines used for the simulation of the physical processes, the package includes few auxiliary routines:

MEGEVE Input Cards

The package needs some cards which must be specified in the file CAREVE.DAT and read in EVECAR (see above). We report here the list and the meaning of the input cards (taken from CAREVE.DAT):

                          1   TYPE   See the code for ITYPE reported above
          1   IANG   0 Generation over 4*pi,                                                                1 Generation in the angular range,                                                 2 Generation with fixed direction,                                                  3 Generation in extended angular range
1.5707963 3.1960463  Theta, phi angles in radians (only for IANG = 2)
          1   FORMOP 0 Approximate formulae,                                                              1 Exact formulae
          0.  POL    Muon polarization
          1.  DX     Maximum allowed difference of e+ energy                                    with respect to m_mu/2
          0.1 DY     Maximum allowed difference of gamma energy                                    with respect to m_mu/2
          1   ITAR   1 Extended Target,                                                                0 Pointlike Target

Use of MEGEVE in a GEANT based program

MEGEVE communicates with any external program using it through the input ITYPE and three output vectors:

                           CALL MEGEVE(ITYPE, CODE,VSTART,PSTART)

    GEANT code of the particles:
       CODE(1) = 2 positron generated, CODE(1) = 0 positron NOT generated
       CODE(2) = 1 gamma generated,    CODE(2) = 0 gamma    NOT generated     Starting position of positron and photon:
       VSTART(1,1:3) carthesian components of the positron position
       VSTART(2,1:3) carthesian components of the photon position     Starting momentum of positron and photon:
       PSTART(1,1:3) carthesian components of the positron momentum
       PSTART(2,1:3) carthesian components of the photon momentum

Then, to use MEGEVE in a GEANT-based program you have to perform the following steps:

1)  Include the statement:

                         CALL EVECAR

in your UGINIT routine to read the cards and initialize the package.

2)  Include the following lines in your GUKINE routine:

                          INTEGER ITYPE,CODE(2)
                          INTEGER I,J,NVTX,NV,NT
                          REAL VSTART(2,3),PSTART(2,3)
                          REAL PLAB(3),VERTEX(3),UBUF(1)

                          ITYPE = TYPE
                          CALL MEGEVE(ITYPE,CODE,VSTART,PSTART)

                          DO I = 1,2
                                 IF  (CODE(I).NE.0) THEN
                                     DO J = 1,3
                                           VERTEX(J) = VSTART(I,J)
                                           PLAB  (J) = 0.001*PSTART(I,J)
                                     CALL GSVERT(VERTEX,0,0,UBUF,0,NVTX)
                                     NV = NVTX
                                     CALL GSKINE(PLAB,CODE(I),NV,UBUF,0,NT)

The DO-loop is not mandatory, but it is the most simple and general way to retrieve the starting positions and momenta, remove the useless information (if only one particle is generated) and call the GEANT routines GSVERT and GSKINE with the appropriate parameters. Alternatively, you can select by yourself the information you need from the MEGEVE outputs VSTART and PSTART.

For suggestions and/or gripes, please send a mail to Fabrizio Cei .

Click here to go back.