|
||||
File indexing completed on 2025-01-18 09:55:25
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 DDG4_GEANT4VERTEX_H 0014 #define DDG4_GEANT4VERTEX_H 0015 0016 // Framework include files 0017 #include <DD4hep/Memory.h> 0018 0019 // C/C++ include files 0020 #include <set> 0021 0022 /// Namespace for the AIDA detector description toolkit 0023 namespace dd4hep { 0024 0025 /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit 0026 namespace sim { 0027 0028 // Forward declarations 0029 class Geant4Vertex; 0030 0031 /// Base class to extend the basic vertex class used by DDG4 with user information 0032 class VertexExtension { 0033 public: 0034 /// Default constructor 0035 VertexExtension() {} 0036 /// Default destructor 0037 virtual ~VertexExtension(); 0038 }; 0039 0040 /// Data structure to store the MC vertex information 0041 /** 0042 * @author M.Frank 0043 * @version 1.0 0044 */ 0045 class Geant4Vertex { 0046 public: 0047 typedef std::set<int> Particles; 0048 /// Reference counter 0049 int ref; //! not persistent 0050 /// Vertex mask to associate particles from collision 0051 int mask; 0052 /// Vertex data 0053 double x,y,z,time; 0054 /// The list of outgoing particles 0055 Particles out; 0056 /// The list of incoming particles 0057 Particles in; 0058 /// User data extension if required 0059 dd4hep_ptr<VertexExtension> extension; //! not persistent: ROOT cannot handle yet 0060 /// Default constructor 0061 Geant4Vertex(); 0062 /// Copy constructor 0063 Geant4Vertex(const Geant4Vertex& c); 0064 /// Default destructor 0065 virtual ~Geant4Vertex(); 0066 /// Assignment operator 0067 Geant4Vertex& operator=(const Geant4Vertex& c); 0068 /// Increase reference count 0069 Geant4Vertex* addRef(); 0070 /// Decrease reference count. Deletes object if NULL 0071 void release(); 0072 }; 0073 0074 } // End namespace sim 0075 } // End namespace dd4hep 0076 #endif // DDG4_GEANT4VERTEX_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |