Handle missing rec-point tree in a uniform way: return null pointer to TEvePointSet.
[u/mrichter/AliRoot.git] / EVE / reve-genclass.pl
index dc4d85148fcaadfe6c12fd0a7ea7e90621eaba6f..5458d8fd7d19dce4d7ed2a5678a921373a9d6b7e 100755 (executable)
@@ -4,11 +4,12 @@ my ($BINDIR, $BINNAME) = $0 =~ m!^(.*)/(.*)!;
 if ($#ARGV != 1) {
   print STDERR <<"fnord";
 usage: $BINNAME <module> <class-base>
 if ($#ARGV != 1) {
   print STDERR <<"fnord";
 usage: $BINNAME <module> <class-base>
-   eg: $BINNAME base QuadSet
-       $BINNAME gl   QuadSet
-       $BINNAME ged  QuadSet
-Should be in module sub-directory (reve/ or alieve/).
-Note that GL and Editor siffixes are not present!
+   eg: $BINNAME base     QuadSet
+       $BINNAME gl       QuadSet
+       $BINNAME ged      QuadSet
+       $BINNAME gedsubed QuadSet
+Should be in module sub-directory (Reve/ or Alieve/).
+Note that GL and Editor suffixes are not present!
 fnord
   exit 1;
 }
 fnord
   exit 1;
 }
@@ -17,10 +18,15 @@ my $MODULE = $ARGV[0];
 # Flat structure now.
 # die "'$MODULE' not a directory" unless -d $MODULE;
 
 # Flat structure now.
 # die "'$MODULE' not a directory" unless -d $MODULE;
 
-%suff = ( 'gl' => 'GL', 'ged' => 'Editor');
+%suff = ( 'gl' => 'GL', 'ged' => 'Editor', 'gedsubed' => 'Editor');
 my $STEM  = $ARGV[1];
 my $CLASS = $STEM . $suff{$MODULE};
 
 my $STEM  = $ARGV[1];
 my $CLASS = $STEM . $suff{$MODULE};
 
+if ($MODULE eq 'gedsubed') {
+  $replace_xxclass = 1;
+  $XXCLASS = $STEM . 'SubEditor';
+}
+
 # Flat structure now.
 # my $H_NAME = "$MODULE/$CLASS.h";
 # my $C_NAME = "$MODULE/$CLASS.cxx";
 # Flat structure now.
 # my $H_NAME = "$MODULE/$CLASS.h";
 # my $C_NAME = "$MODULE/$CLASS.cxx";
@@ -57,6 +63,7 @@ my ($skel_h, $skel_c);
 print "Replacing CLASS -> $CLASS, STEM -> $STEM.\n";
 
 for $f ($skel_h, $skel_c) {
 print "Replacing CLASS -> $CLASS, STEM -> $STEM.\n";
 
 for $f ($skel_h, $skel_c) {
+  $f =~ s/XXCLASS/$XXCLASS/g if ($replace_xxclass);
   $f =~ s/CLASS/$CLASS/g;
   $f =~ s/STEM/$STEM/g;
 }
   $f =~ s/CLASS/$CLASS/g;
   $f =~ s/STEM/$STEM/g;
 }