019cd5011d639e30b8e35e4042e4a7fc0181ae76
[u/mrichter/AliRoot.git] / AliGeant4 / config / test_create.sh
1 #!/bin/sh
2 # $Id$
3 # ----------------------------------------------------------------
4 # This script generates test macros for all versions of
5 # one detector if it specified or for all detectors otherwise
6 # with specified (or default) test event generator 
7 # in macro/DDD/test
8 #
9 # Usage: test_create.sh detName [-g genNumber] [-v visNumber]
10 #                      for all detectors: detName = ALL
11 #
12 # 5.11.99  I. Hrivnacova
13
14 # check input parameters
15 if [ $# -lt 1 ]; then
16   echo "Usage: "
17   echo "test_create.sh detName [-g genNumber] [-v visNumber]"
18   echo "                 for all detectors:  detName = ALL"
19   echo "                     all structures: detName = STRUCT"
20   echo "                     all detectors of all versions:  detName = ALL_VERSIONS"
21   echo "                     all structures of all versions: detName = STRUCT_ALL_VERSIONS"
22   exit
23 fi
24
25 # default parameters
26 DIR=$1
27 GEN="1"
28 VIS="0"
29
30 # get input parameters
31 for param in $*
32 do
33   case $param in
34     -g) GEN=$3; shift 2;;
35     -v) VIS=$3; shift 2;;
36   esac
37 done
38
39 CURDIR=`pwd`
40 SRC=$ALICE_ROOT
41 TO=$AG4_INSTALL/"test"
42 MAX=10
43
44 # create destination directory if it does not exist
45 if [ ! -d $TO ] ; then    
46   mkdir $TO
47   cd $TO
48   mkdir CRT EMCAL FMD ITS MUON PHOS PMD RICH START STRUCT TOF TPC TRD ZDC
49   cd STRUCT
50   mkdir ABSO DIPO FRAME HALL MAG PIPE SHIL
51 fi  
52
53 cd $SRC
54 if [ "$DIR" = "ALL_VERSIONS" ]; then
55 # loop over all detectors if det is not specified
56   for DIR in `ls`; do
57     if [ -d $DIR ] ; then
58       cd $SRC/$DIR
59       VER=0
60       until [ "$VER" = "$MAX" ] ; do
61         if [ -f "Ali"$DIR"v"$VER".cxx" ]; then
62           #echo "test_create_in.sh $DIR v$VER test$GEN$VIS"
63           test_create_in.sh $DIR -d $VER -g $GEN -v $VIS
64         fi
65         let VER=$VER+1
66       done 
67       cd $SRC    
68     fi  
69   done
70 else
71
72 # loop over all structures
73   if [ "$DIR" = "STRUCT_ALL_VERSIONS" ]; then
74     cd $TO/$DIR
75     for MODULE in `ls`; do
76       VER=0
77       until [ "$VER" = "$MAX" ] ; do
78         if [ -f $SRC/$DIR/"Ali"$MODULE"v"$VER".cxx" ]; then
79           #echo "test_create_struct.sh $MODULE v$VER test$GEN$VIS"
80           test_create_struct.sh $MODULE -d $VER -g $GEN -v $VIS
81         fi  
82         let VER=$VER+1
83       done
84     done
85   else
86   
87 # all detectors with default versions only
88     if [ "$DIR" = "ALL" ]; then
89       cd $SRC
90       for DIR in `ls`; do
91         if [ -d $DIR ]; then
92           cd $SRC/$DIR
93           VER="d"
94           #echo "test_create_in.sh $DIR v$VER test$GEN$VIS"
95           test_create_in.sh $DIR -d $VER -g $GEN -v $VIS
96         fi
97         cd $SRC    
98       done
99     else
100
101 # loop over all structures with default versions only
102       if [ "$DIR" = "STRUCT" ]; then
103         DIR="STRUCT"
104         cd $TO/$DIR
105         for MODULE in `ls`; do
106           VER="d"
107           #echo "test_create_struct.sh $MODULE v$VER test$GEN$VIS"
108           test_create_struct.sh $MODULE -d $VER -g $GEN -v $VIS
109         done
110       else
111   
112 # specified detector only
113         if [ -d $SRC/$DIR ]; then    
114           cd $SRC/$DIR
115           VER=0
116           until [ "$VER" = "$MAX" ] ; do
117             if [ -f "Ali"$DIR"v"$VER".cxx" ]; then
118               #echo "test_create_in.sh $DIR v$VER test$GEN$VIS"
119               test_create_in.sh $DIR -d $VER -g $GEN -v $VIS
120             fi
121             let VER=$VER+1
122           done 
123           cd $TO     
124         fi
125       fi
126     fi
127   fi    
128 fi
129 cd $CURDIR