Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55: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 //
0014 //  Small helper file with abbreviations to write configurations
0015 //  for CINT; also used when writing the XML configuration.
0016 //
0017 //====================================================================
0018 #ifndef DDG4_GEANT4CONFIG_H
0019 #define DDG4_GEANT4CONFIG_H
0020 
0021 /// Namespace for the AIDA detector description toolkit
0022 namespace dd4hep {
0023 
0024   /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit
0025   namespace sim {
0026 
0027     // Forward declarations
0028     template <typename TYPE> class Geant4Handle;
0029     class Geant4Kernel;
0030     class Geant4Action;
0031     class Geant4Filter;
0032     class Geant4PhaseAction;
0033     class Geant4RunAction;
0034     class Geant4EventAction;
0035     class Geant4TrackingAction;
0036     class Geant4StackingAction;
0037     class Geant4SteppingAction;
0038     class Geant4Sensitive;
0039     class Geant4ActionPhase;
0040     class Geant4GeneratorAction;
0041     class Geant4PhysicsList;
0042     class Geant4UserInitialization;
0043     class Geant4UserParticleHandler;
0044     class Geant4GeneratorActionSequence;
0045     class Geant4RunActionSequence;
0046     class Geant4EventActionSequence;
0047     class Geant4TrackingActionSequence;
0048     class Geant4SteppingActionSequence;
0049     class Geant4StackingActionSequence;
0050     class Geant4PhysicsListActionSequence;
0051     class Geant4SensDetActionSequence;
0052     class Geant4UserInitializationSequence;
0053     class Geant4DetectorConstruction;
0054     class Geant4DetectorConstructionSequence;
0055 
0056     /// Convenience namespace to ease the setupup of DDG4 applications
0057     namespace Setup {
0058       // Basics
0059       typedef Geant4Kernel Kernel;
0060       //typedef Geant4Handle<Geant4Kernel> KernelH;
0061       // Actions
0062       typedef Geant4Handle<Geant4Action>                       Action;
0063       typedef Geant4Handle<Geant4Filter>                       Filter;
0064       typedef Geant4Handle<Geant4PhaseAction>                  PhaseAction;
0065       typedef Geant4Handle<Geant4GeneratorAction>              GenAction;
0066       typedef Geant4Handle<Geant4RunAction>                    RunAction;
0067       typedef Geant4Handle<Geant4EventAction>                  EventAction;
0068       typedef Geant4Handle<Geant4TrackingAction>               TrackAction;
0069       typedef Geant4Handle<Geant4StackingAction>               StackAction;
0070       typedef Geant4Handle<Geant4SteppingAction>               StepAction;
0071       typedef Geant4Handle<Geant4PhysicsList>                  PhysicsList;
0072       typedef Geant4Handle<Geant4ActionPhase>                  Phase;
0073       typedef Geant4Handle<Geant4Sensitive>                    Sensitive;
0074       typedef Geant4Handle<Geant4UserInitialization>           Initialization;
0075       typedef Geant4Handle<Geant4DetectorConstruction>         DetectorConstruction;
0076 
0077       // Sequences
0078       typedef Geant4Handle<Geant4SensDetActionSequence>        SensitiveSeq;
0079       typedef Geant4Handle<Geant4GeneratorActionSequence>      GeneratorSeq;
0080       typedef Geant4Handle<Geant4RunActionSequence>            RunActionSeq;
0081       typedef Geant4Handle<Geant4EventActionSequence>          EventActionSeq;
0082       typedef Geant4Handle<Geant4TrackingActionSequence>       TrackActionSeq;
0083       typedef Geant4Handle<Geant4SteppingActionSequence>       StepActionSeq;
0084       typedef Geant4Handle<Geant4StackingActionSequence>       StackActionSeq;
0085       typedef Geant4Handle<Geant4PhysicsListActionSequence>    PhysicsActionSeq;
0086       typedef Geant4Handle<Geant4UserInitializationSequence>   InitializationSeq;
0087       typedef Geant4Handle<Geant4DetectorConstructionSequence> DetectorConstructionSeq;
0088       inline bool is_aclick()   {
0089 #if defined(G__DICTIONARY) || defined(__CLING__) || defined(__CINT__) || defined(__MAKECINT__)
0090     return true;
0091 #else
0092     return false;
0093 #endif
0094       }
0095     }
0096 
0097   }    // End namespace sim
0098 }      // End namespace dd4hep
0099 
0100 #include <DDG4/Geant4Particle.h>
0101 #include <DDG4/Geant4Handle.h>
0102 #include <DDG4/Geant4Kernel.h>
0103 #include <DDG4/Geant4PhysicsList.h>
0104 #include <DDG4/Geant4GeneratorAction.h>
0105 #include <DDG4/Geant4RunAction.h>
0106 #include <DDG4/Geant4EventAction.h>
0107 #include <DDG4/Geant4TrackingAction.h>
0108 #include <DDG4/Geant4SteppingAction.h>
0109 #include <DDG4/Geant4StackingAction.h>
0110 #include <DDG4/Geant4DetectorConstruction.h>
0111 #include <DDG4/Geant4ActionPhase.h>
0112 #include <DDG4/Geant4SensDetAction.h>
0113 #include <DDG4/Geant4ParticleHandler.h>
0114 #include <DDG4/Geant4UserInitialization.h>
0115 #include <DDG4/Geant4UserParticleHandler.h>
0116 #include <DDG4/ComponentUtils.h>
0117 #include <DD4hep/Detector.h>
0118 
0119 #endif // DDG4_GEANT4CONFIG_H