]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TFluka/TFlukaCerenkov.cxx
Implement g3 behaviour for metal surface.
[u/mrichter/AliRoot.git] / TFluka / TFlukaCerenkov.cxx
index 5eb019b6a2c8c66d2a2e2aea5c6c22a4c76f93b1..8e7c15d1393d08e37d6fc66b1d7eaaff606789f7 100644 (file)
@@ -59,7 +59,7 @@ TFlukaCerenkov::TFlukaCerenkov(Int_t npckov, Float_t *ppckov, Float_t *absco, Fl
     fAbsorptionCoefficient = new Float_t[fSamples];
     fRefractionIndex       = new Float_t[fSamples];
     fQuantumEfficiency     = new Float_t[fSamples];
-    
+    fReflectivity          = new Float_t[fSamples];    
     
     for (Int_t i = 0; i < fSamples; i++) {
        fEnergy[i]             = ppckov[i];
@@ -77,6 +77,11 @@ TFlukaCerenkov::TFlukaCerenkov(Int_t npckov, Float_t *ppckov, Float_t *absco, Fl
        //
        // Flag is sensitive if quantum efficiency 0 < eff < 1 for at least one value.
        if (effic[i] < 1. && effic[i] > 0.) fIsSensitive = 1;
+       // G3 way to define metal
+       if (rindex[0] == 0.) {
+           fIsMetal = kTRUE;
+           fReflectivity[i] = absco[i];
+       }
     }
     // Find global  maximum quantum efficiency
     if (fMaximumEfficiency > GetGlobalMaximumEfficiency()) {
@@ -111,6 +116,8 @@ TFlukaCerenkov::TFlukaCerenkov(Int_t npckov, Float_t *ppckov, Float_t *absco, Fl
        //
        // Flag is sensitive if quantum efficiency 0 < eff < 1 for at least one value.
        if (effic[i] < 1. && effic[i] > 0.) fIsSensitive = 1;
+       //
+
     }
     // Find global  maximum quantum efficiency
     if (fMaximumEfficiency > GetGlobalMaximumEfficiency()) {