Thread daten auslesen benötige hilfe (23 answers)
Opened by quant at 2009-02-10 16:37

Gast Gast
 2009-02-11 11:45
#118787 #118787
Alternativ
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/perl
use strict;
use warnings;

#event 27 zählen
my count_event_27=0;

# Geammtanzahl der Events
my $noe;

while(<>) { 
my @stuff=split(' ');

 if(/UQMD/){
 }
 elsif(/projectile:/){
 my $protar=$_
 }
 elsif(/equation_of_state:/){
  my $ecm=$stuff[5];
  my $midy=log($ecm/0.938);
  my $elab=$stuff[3];
  my $plab=$stuff[7];
 }
 elsif(/event#/){
  $noe++                    # numbers of events: noe
 }      
 else{
  if($#stuff==14){ 

   my @x=@stuff[0..3];   
   my @p=@stuff[4..7];
   my @id=@stuff[8..11];

   my $mass=$id[0];
   my $ityp=$id[1];
   my $iz2=$id[2];
   my $charge=$id[3];

# ab hier steht folgende info zur verfuegung:

# stuff[0] = r_0    = $x[0]
# stuff[1] = r_x    = $x[1]
# stuff[2] = r_y    .
# stuff[3] = r_z    .
# stuff[4] = p_0    = $p[0]
# stuff[5] = p_x    = $p[1]
# stuff[6] = p_y    .
# stuff[7] = p_z    .
# stuff[8] = mass   = $id[0]
# stuff[9] = ityp   = $id[1]
# stuff[10]= iz2    = $id[2]
# stuff[11]= charge = $id[3]

   if ($ityp==27) {
    $count_event_27++;
    print("lambda \n");
    print("Event", $noe, "\n");
    # Wenn der event des Typs "27" mindestens zwei mal aufgetaucht ist...
    if ($count_event_27++; >= 2){
      print("match");
     # es könnte sinnvoll sein den zähler wieder zurück zu setzen,
     # oder die bedingung auf ==2 zu setzen.
     # Aber ich weiss nicht genug über die Logick um dir da zu helfen
    }
   }
  } 
 }
}


[/quote]

View full thread daten auslesen benötige hilfe