Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:21

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_DIGIEVENTACTION_H
0014 #define DDDIGI_DIGIEVENTACTION_H
0015 
0016 // Framework include files
0017 #include <DDDigi/DigiAction.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     /// Forward declarations
0026     class DigiEvent;
0027 
0028     /// Default base class for all Digitizer actions and derivates thereof.
0029     /**
0030      *  This is a utility class supporting properties, output and access to
0031      *  event and run objects through the context.
0032      *
0033      *  \author  M.Frank
0034      *  \version 1.0
0035      *  \ingroup DD4HEP_DIGITIZATION
0036      */
0037     class DigiEventAction : public DigiAction   {
0038       friend class DigiKernel;
0039 
0040     protected:
0041       /// Property: Support parallel execution
0042       bool               m_parallel    = false;
0043 
0044     protected:
0045       /// Define standard assignments and constructors
0046       DDDIGI_DEFINE_ACTION_CONSTRUCTORS(DigiEventAction);
0047 
0048       /// Default destructor
0049       virtual ~DigiEventAction();
0050 
0051     public:
0052       /// Standard constructor
0053       DigiEventAction(const DigiKernel& kernel, const std::string& nam);
0054       /// Access parallization flag
0055       bool executeParallel()  const  {
0056         return m_parallel;
0057       }      
0058       /// Set the parallization flag; returns previous value
0059       bool setExecuteParallel(bool new_value);
0060       /// Main functional callback
0061       virtual void execute(DigiContext& context)   const = 0;
0062     };
0063   }    // End namespace digi
0064 }      // End namespace dd4hep
0065 #endif // DDDIGI_DIGIEVENTACTION_H