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
ITYPE Code
Routine
Explanation
       
e+ - gamma signal
1
EVESIG
52.8 MeV positron and gamma are generated back to back
e+ - gamma radiative decay
2
EVERDE
Radiative decay events; correlated background
e+ - gamma accidental background;  1st kind
3
EVEACC
Positron from Michel spectrum; gamma from radiative decay. Uncorrelated background
e+ - gamma accidental background;  2nd kind
4
EVEACC
Positron from Michel spectrum; gamma from annihilation in flight. Uncorrelated background
e+ only signal
11
EPOMEG
52.8 MeV positron
e+ only background
12
EPOMIC
Positron from Michel spectrum
gamma only signal
21
EPHMEG
52.8 MeV gamma
gamma only background; 1st kind
22
EPHRAD
Gamma from radiative decay
gamma only background; 2nd kind
23
EPHANF
Gamma from annihilation in flight
gamma only for studying detector response
24
EPHFLA
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)
                                     ENDDO
                                     CALL GSVERT(VERTEX,0,0,UBUF,0,NVTX)
                                     NV = NVTX
                                     CALL GSKINE(PLAB,CODE(I),NV,UBUF,0,NT)
                                ENDIF
                          ENDDO

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.