Colour palette and option "surf"

Hello, does anybody know how to change the colour palette in the following example in such a way, that the highest value is white and the lowest value is black with a smooth gradient from white (top) to black (bottom) in between?

{
   TH2D *h2 = new TH2D("h2","h2",40,-8,8,40,-9,9);
   Float_t px, py;
   for (Int_t i = 0; i < 50000; i++) {
      gRandom->Rannor(px,py);
      Float_t random = gRandom->Rndm(1);
      h2->Fill(px,py);
      h2->Fill(px+4,py-4,0.5);
      h2->Fill(px+4,py+4,0.25);
      h2->Fill(px-3,py+4,0.125);
   }

   TCanvas *c1 = new TCanvas("c1","c1",10,10,400,350);
   gStyle->SetPalette(1);
   h2->Draw("surf2");
}

Olivier will give you an example on Monday. Meanwhile you can get some inspiration by looking at class TColor at
root.cern.ch/root/html/TColor.html
and in particular at
root.cern.ch/root/html/TColor.ht … ColorTable

Rene

{
   TH2D *h2 = new TH2D("h2","h2",40,-8,8,40,-9,9);
   Float_t px, py;   
   for (Int_t i = 0; i < 50000; i++) {
      gRandom->Rannor(px,py);
      Float_t random = gRandom->Rndm(1);
      h2->Fill(px,py);
      h2->Fill(px+4,py-4,0.5);
      h2->Fill(px+4,py+4,0.25);
      h2->Fill(px-3,py+4,0.125);
   }
 
   TCanvas *c1 = new TCanvas("c1","c1",10,10,400,350);

   UInt_t Number = 2;
   Double_t Red[Number]    = { 0.00, 1.00};
   Double_t Green[Number]  = { 0.00, 1.00};
   Double_t Blue[Number]   = { 0.00, 1.00};
   Double_t Length[Number] = { 0.00, 1.00};
   Int_t nb=50; 
   TColor::CreateGradientColorTable(Number,Length,Red,Green,Blue,nb);
   h2->SetContour(nb);   

   h2->Draw("surf2");
}   

Thank you very much!