Index: /trunk/Mars/msim/MPhotonData.cc
===================================================================
--- /trunk/Mars/msim/MPhotonData.cc	(revision 18544)
+++ /trunk/Mars/msim/MPhotonData.cc	(revision 18545)
@@ -177,4 +177,7 @@
 void MPhotonData::SimWavelength(Float_t wmin, Float_t wmax)
 {
+    if (fWavelength>0)
+        return;
+
     const Double_t w = gRandom->Uniform(wmin, wmax);
 
@@ -285,5 +288,5 @@
     fTime             =  f[4]/10.;              // a relative arival time [ns]
     fProductionHeight =  pow(10, f[5]/1000.);   // altitude of emission a.s.l. [cm]
-    fWavelength       =  f[7];                  // wavelength [nm]: 0 undetermined, <0 already in p.e.
+    fWavelength       =  TMath::Abs(f[7]);      // wavelength [nm]: 0 undetermined, <0 already in p.e.
 
     // Now reset all data members which are not in the stream
@@ -317,5 +320,5 @@
     //fTime             =  f[4];              // a relative arival time [ns]
     //fProductionHeight =  f[5];              // altitude of emission [cm]
-    //fWavelength       =  TMath::Nint(f[7]); // so far always zeor = unspec. [nm]
+    fWavelength       =  0;                 // so far always zeor = unspec. [nm]
 
     // Now reset all data members which are not in the stream
@@ -367,7 +370,7 @@
 //    gLog << "Num Photons:      " << fNumPhotons << " from " << MMcEvtBasic::GetParticleName(fPrimary) << endl;
     gLog << "Origin:           " << MMcEvtBasic::GetParticleName(fPrimary) << endl;
-    gLog << "Wavelength:       " << fWavelength << "nm" << endl;
+    gLog << "Wavelength:       " << dec << fWavelength << "nm" << endl;
     gLog << "Pos X/Y  Cos U/V: " << fPosX << "/" << fPosY << "   " << fCosU << "/" << fCosV << endl;
-    gLog << "Time/Prod.Height: " << fTime << "ns/" << fProductionHeight << "cm" << endl;
+    gLog << "Time/Prod.Height: " << fTime << "ns/" << fProductionHeight/100 << "m" << endl;
     if (fTag>=0)
         gLog << "Tag:              " << fTag << endl;
