PhotonConfiguration.h File Reference

#include "Registry/Registry.h"

Go to the source code of this file.

Functions

RegistryPhotonConfiguration ()

Function Documentation

Registry& PhotonConfiguration (  ) 

Definition at line 5 of file PhotonConfiguration.cxx.

References MuELoss::e, Registry::LockValues(), Munits::microsecond, Munits::mm, Munits::ns, Registry::Set(), and Registry::UnLockValues().

Referenced by PhotonTransport::DefaultConfig(), PhotonInjector::DefaultConfig(), PhotonCaldetNoise::PhotonCaldetNoise(), PhotonCalibratedBlueComputer::PhotonCalibratedBlueComputer(), PhotonCalibratedPeComputer::PhotonCalibratedPeComputer(), PhotonCompositeGreenTracker::PhotonCompositeGreenTracker(), PhotonDefaultModel::PhotonDefaultModel(), PhotonFastBlueModel::PhotonFastBlueModel(), PhotonFullBlueTracker::PhotonFullBlueTracker(), PhotonFullFibreModel::PhotonFullFibreModel(), PhotonFullGreenTracker::PhotonFullGreenTracker(), and PhotonNdAfterpulseModel::PhotonNdAfterpulseModel().

00006 {
00007   static Registry photon;
00008   static bool     prepped = false;
00009   if(!prepped) {
00010     prepped = true;
00011     photon.SetName("ScintHitToDigiPE.config.default");
00012     photon.UnLockValues();
00013     
00014     // Algorithm control.
00015     
00016     photon.Set("randomSeed",0);
00017     photon.Set("FailWhenNoTimeRange",0); // return JobC::kFailed if can't
00018                                          //   find sensible noise window
00019                                          // Minerva simulation want this 0
00020            
00021     photon.Set("TStartNoRange",0.0);     // alternative noise window
00022     photon.Set("TEndNoRange",20.0e-6);   // alternative noise window
00023 
00024 
00025     // Set values in configuration
00026     photon.Set("PhotonComputer",    "photonCalibratedPeComputer");
00027     photon.Set("BluePhotonTracker", "photonFastBlueModel");
00028     photon.Set("WlsFibreModel",     "photonDefaultModel");
00029     photon.Set("GreenPhotonTracker","photonDefaultModel");
00030     photon.Set("NoiseMaker",        "photonDefaultModel");
00031     photon.Set("DebugFileName",   "");
00032     photon.Set("DebugMask", 0xFFFF);
00033     
00034     // Computer:
00035     photon.Set("OverallLightOutput",       1.0); //
00036     photon.Set("GeVPerMip",                0.00173); // Scale factor that defines what a MIP/MEU is.
00037                                                      // This value taken from CalDet MC testing by Jeff H.
00038     photon.Set("NpePerGeV",                9.2e3); // Scaling factor for StripComputer. Now defunct.
00039     photon.Set("AttenuationMode",          0);
00040     photon.Set("ScintillatorClipping",     1);
00041     photon.Set("ElectronFudgeThreshEnergy",0);
00042     photon.Set("ElectronFudgeThreshDist",  0);
00043     photon.Set("MaxPePerHit",              10000.0); // Maximum PE for a hit - limiter for calibration errors.
00044     
00045     // Scintillator:
00046     photon.Set("BirksConstant",           0.133); // meters/GeV
00047     photon.Set("ScintIndex",              1.6 );
00048     photon.Set("ScintAttenLength",        0.33);
00049     photon.Set("ScintDecayTime",          2 * Munits::ns);  //+/- 0.5ns K Ruddick, private communication.
00050     photon.Set("TiO2ReflecDiffuse",       0.94);
00051     photon.Set("GrooveReflecCoeff",       0.5 );
00052     photon.Set("GrooveHalfWidth",         0.7 * Munits::mm);
00053     photon.Set("LambertianReflection",    1); // Use lambertian reflection for full model
00054 
00055     // Tuning parameters:
00056     photon.Set("ScintAttenTuneFactor",1.0);
00057     photon.Set("TiO2ReflecTimeFactor",1.0);
00058 
00059     // Fibres:
00060     photon.Set("OuterCladdingIndex",      1.42);
00061     photon.Set("InnerCladdingIndex",      1.49 );
00062     photon.Set("FibreRadius",             0.6 * Munits::mm );
00063     photon.Set("FibreCoreRadius",         0.6 * Munits::mm*0.88);    // Ref: Brajesh, private communication
00064     photon.Set("InnerCladdingRadius",     0.6 * Munits::mm*0.94);// 3% of diameter for each layephoton.
00065     photon.Set("FibreFlurorDecayTime",    7.5 * Munits::ns);
00066     photon.Set("ClearFibreIndex",         1.6);
00067     photon.Set("FibreIndex",              1.6);
00068     photon.Set("FibreVelocityFudge",      1.0);
00069     
00070     // Fibre attenuation:
00071     photon.Set("FibreAttenN1",            0.3333);
00072     photon.Set("FibreAttenN2",            0.6666);
00073     photon.Set("FibreAttenLength1",       1.052);
00074     photon.Set("FibreAttenLength2",       7.078);
00075     photon.Set("ClearFibreAttenN1",       1.0);
00076     photon.Set("ClearFibreAttenN2",       0.0);
00077     photon.Set("ClearFibreAttenLength1",  11.0);
00078     photon.Set("ClearFibreAttenLength2",  1.35);
00079 
00080     // Reflector connectors:
00081     photon.Set("ReflectorFibreReflec",    0.5); // Rough guess
00082     photon.Set("ReflectorScintReflec",    0.0); // Estimated to be small
00083     
00084     // Pmts:
00085     photon.Set("QuantumEfficiency",       0.036);
00086     
00087     // Noise:
00088     photon.Set("DarkNoiseRate",200.0); //Hz
00089     photon.Set("GreenNoiseRate",25.0); // Hz
00090     photon.Set("NoiseWindow",6500.*Munits::ns);
00091     // Used by FD noise maker
00092     photon.Set("UseSimpleNoiseModel",0);
00093     photon.Set("FDNoiseRate", 3762138);
00094     photon.Set("PoissonNoiseMean", 0.3);
00095     photon.Set("ExpTailFraction", 0.0167);
00096 
00097     // Afterpulsing:
00098     photon.Set("AfterpulseFraction",0.04); 
00099     photon.Set("AfterpulseStart",1.0*Munits::microsecond);
00100     photon.Set("AfterpulseEnd"  ,3.0*Munits::microsecond);
00101     
00102     photon.LockValues();
00103   }
00104   return photon;
00105 }


Generated on 2 Nov 2017 for loon by  doxygen 1.6.1