Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:04:22

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDDIGI_NOISE_DIGILANDAUNOISE_H
0014 #define DDDIGI_NOISE_DIGILANDAUNOISE_H
0015 
0016 /// Framework include files
0017 #include <DDDigi/DigiSignalProcessor.h>
0018 
0019 /// Namespace for the AIDA detector description toolkit
0020 namespace dd4hep {
0021 
0022   /// Namespace for the Digitization part of the AIDA detector description toolkit
0023   namespace digi {
0024 
0025     /// Generic noise source with a landau distribution
0026     /**
0027      *  Generate landau noise as it appears e.g. from electronic noise
0028      *  with a given mean and a given sigma
0029      *
0030      *  \author  M.Frank
0031      *  \version 1.0
0032      *  \ingroup DD4HEP_DIGITIZATION
0033      */
0034     class DigiLandauNoise : public DigiSignalProcessor  {
0035     protected:
0036       /// Property: Mean value of the 
0037       double    m_mean    = 0.0;
0038       /// Property: Variance of the energy distribution in electron Volt. MANDATORY!
0039       double    m_sigma   = -1.0;
0040       /// Property: Cut-off parameter. Do nothing if existing energy deposit is below threshold
0041       double    m_cutoff  = -1.0;
0042       
0043     protected:
0044       /// Define standard assignments and constructors
0045       DDDIGI_DEFINE_ACTION_CONSTRUCTORS(DigiLandauNoise);
0046 
0047     public:
0048       /// Standard constructor
0049       DigiLandauNoise(const DigiKernel& kernel, const std::string& nam);
0050       /// Default destructor
0051       virtual ~DigiLandauNoise();
0052       /// Callback to read event landaunoise
0053       virtual double operator()(DigiCellContext& context)  const  override;
0054     };
0055   }    // End namespace digi
0056 }      // End namespace dd4hep
0057 #endif // DDDIGI_NOISE_DIGILANDAUNOISE_H