]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/pytime.F
AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / pytime.F
1  
2 C*********************************************************************
3  
4 C...PYTIME
5 C...Finds current date and time.
6 C...Since this task is not standardized in Fortran 77, the routine
7 C...is dummy, to be replaced by the user. Examples are given for
8 C...the Fortran 90 routine DEC Fortran 77, GNU Linux g77, and what to 
9 C...do if you do not have access to suitable routines.
10  
11       SUBROUTINE PYTIME(IDATI)
12  
13 C...Double precision and integer declarations.
14       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
15       IMPLICIT INTEGER(I-N)
16 C      INTEGER PYK,PYCHGE,PYCOMP
17 C      CHARACTER*8 ATIME
18 C...Local array.
19       INTEGER IDATI(6),IDTEMP(3)
20  
21 C...Example 0: if you do not have suitable routines.
22       DO 100 J=1,6
23       IDATI(J)=0
24   100 CONTINUE
25  
26 C...Example 1: Fortran 90 routine.
27 C      INTEGER IVAL(8)
28 C      CALL DATE_AND_TIME(VALUES=IVAL)
29 C      IDATI(1)=IVAL(1)
30 C      IDATI(2)=IVAL(2)
31 C      IDATI(3)=IVAL(3)
32 C      IDATI(4)=IVAL(5)
33 C      IDATI(5)=IVAL(6)
34 C      IDATI(6)=IVAL(7)
35  
36 C...Example 2: DEC Fortran 77. AIX.
37 C      CALL IDATE(IMON,IDAY,IYEAR)
38 C      IDATI(1)=IYEAR
39 C      IDATI(2)=IMON
40 C      IDATI(3)=IDAY
41 C      CALL ITIME(IHOUR,IMIN,ISEC)
42 C      IDATI(4)=IHOUR
43 C      IDATI(5)=IMIN
44 C      IDATI(6)=ISEC
45  
46 C...Example 3: DEC Fortran, IRIX, IRIX64.
47 C      CALL IDATE(IMON,IDAY,IYEAR)
48 C      IDATI(1)=IYEAR
49 C      IDATI(2)=IMON
50 C      IDATI(3)=IDAY
51 C      CALL TIME(ATIME)
52 C      IHOUR=0
53 C      IMIN=0
54 C      ISEC=0
55 C      READ(ATIME(1:2),'(I2)') IHOUR
56 C      READ(ATIME(4:5),'(I2)') IMIN
57 C      READ(ATIME(7:8),'(I2)') ISEC
58 C      IDATI(4)=IHOUR
59 C      IDATI(5)=IMIN
60 C      IDATI(6)=ISEC
61  
62 C...Example 4: GNU LINUX libU77, SunOS.
63       CALL IDATE(IDTEMP)
64       IDATI(1)=IDTEMP(3)
65       IDATI(2)=IDTEMP(2)
66       IDATI(3)=IDTEMP(1)
67       CALL ITIME(IDTEMP)
68       IDATI(4)=IDTEMP(1)
69       IDATI(5)=IDTEMP(2)
70       IDATI(6)=IDTEMP(3)
71  
72 C...Common code to ensure right century.
73       IDATI(1)=2000+MOD(IDATI(1),100)
74  
75       RETURN
76       END