Add sensitivity flag.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 31 Mar 2004 13:47:47 +0000 (13:47 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 31 Mar 2004 13:47:47 +0000 (13:47 +0000)
TFluka/TFlukaCerenkov.cxx
TFluka/TFlukaCerenkov.h

index 30e1da9..a4945a3 100644 (file)
@@ -5,7 +5,8 @@ ClassImp(TFlukaCerenkov);
 
 TFlukaCerenkov::TFlukaCerenkov()
     : fSamples(0), 
-      fIsMetal(0),
+      fIsMetal(kFALSE),
+      fIsSensitive(kFALSE),
       fEnergy(0),
       fWaveLength(0),
       fAbsorptionCoefficient(0),
@@ -20,11 +21,11 @@ TFlukaCerenkov::TFlukaCerenkov(Int_t npckov, Float_t *ppckov, Float_t *absco, Fl
 {
 // Constructor    
     fSamples = npckov;
-    fEnergy             = new Float_t[fSamples];
-    fWaveLength         = new Float_t[fSamples];
-    fAbsorptionCoefficient   = new Float_t[fSamples];
-    fRefractionIndex    = new Float_t[fSamples];
-    fQuantumEfficiency  = new Float_t[fSamples];
+    fEnergy                = new Float_t[fSamples];
+    fWaveLength            = new Float_t[fSamples];
+    fAbsorptionCoefficient = new Float_t[fSamples];
+    fRefractionIndex       = new Float_t[fSamples];
+    fQuantumEfficiency     = new Float_t[fSamples];
     for (Int_t i = 0; i < fSamples; i++) {
        fEnergy[i]             = ppckov[i];
        fWaveLength[i]         = khc / ppckov[i];
@@ -35,7 +36,9 @@ TFlukaCerenkov::TFlukaCerenkov(Int_t npckov, Float_t *ppckov, Float_t *absco, Fl
        }
        fRefractionIndex[i]    = rindex[i];
        fQuantumEfficiency[i]  = effic[i];
-       if (effic[i] < 1. && effic[i] > 0.) fIsMetal = 1;
+       //
+       // Flag is sensitive if quantum efficiency 0 < eff < 1 for at least one value.
+       if (effic[i] < 1. && effic[i] > 0.) fIsSensitive = 1;
     }
 }
 
index cb1f381..afe2b1c 100644 (file)
@@ -41,13 +41,15 @@ public:
     virtual Float_t   GetMaximumWavelength() {return khc / fEnergy[0];}
     virtual Int_t     GetNSamples()          {return fSamples;}
     virtual Bool_t    IsMetal()              {return fIsMetal;}
+    virtual Bool_t    IsSensitive()          {return fIsSensitive;}
     
  protected:
     virtual Float_t  Interpolate(Float_t energy, Float_t* array1, Float_t* array2);
     
  protected:
     Int_t        fSamples;               // Number of sampling points
-    Bool_t       fIsMetal;               // Flag for metals  
+    Bool_t       fIsMetal;               // Flag for metals
+    Bool_t       fIsSensitive;           // Flag for metals  
     Float_t*     fEnergy;                // [fSamples] Energy                 (GeV) 
     Float_t*     fWaveLength;            // [fSamples] Wafelength             (cm)
     Float_t*     fAbsorptionCoefficient; // [fSamples] Absorption Coefficient (1/cm)