Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:14:10

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 DDEVE_DDEVEEVENTDATA_H
0014 #define DDEVE_DDEVEEVENTDATA_H
0015 
0016 // C/C++ include files
0017 #include <vector>
0018 #include <set>
0019 
0020 /// Namespace for the AIDA detector description toolkit
0021 namespace dd4hep {
0022 
0023   /// DDEve event classes: Basic hit
0024   /** 
0025    * \author  M.Frank
0026    * \version 1.0
0027    * \ingroup DD4HEP_EVE
0028    */
0029   class DDEveHit   {
0030   public:
0031     /// Track/Particle, which produced this hit
0032     int particle {0};
0033     /// Hit position
0034     float x = 0e0, y = 0e0, z = 0e0; 
0035     /// Energy deposit
0036     float deposit {0};
0037     /// Default constructor
0038     DDEveHit();
0039     /// Initializing constructor
0040     DDEveHit(int part, float xx, float yy, float zz, float d);
0041     /// Copy constructor
0042     DDEveHit(const DDEveHit& c);
0043     /// Default destructor
0044     ~DDEveHit();
0045     /// Assignment operator
0046     DDEveHit& operator=(const DDEveHit& c);
0047   };
0048   typedef std::vector<DDEveHit> DDEveHits;
0049 
0050   /// Data structure to store the MC particle information 
0051   /**
0052    * \author  M.Frank
0053    * \version 1.0
0054    * \ingroup DD4HEP_EVE
0055    */
0056   class DDEveParticle {
0057   public:
0058     int id, parent, pdgID;
0059     double vsx, vsy, vsz;
0060     double vex, vey, vez;
0061     double psx, psy, psz, energy, time;
0062     std::set<int> daughters;
0063     /// Default constructor
0064     DDEveParticle();
0065     /// Copy constructor
0066     DDEveParticle(const DDEveParticle& c);
0067     /// Default destructor
0068     virtual ~DDEveParticle();
0069     /// Assignment operator
0070     DDEveParticle& operator=(const DDEveParticle& c);
0071   };
0072   typedef std::vector<DDEveParticle> DDEveParticles;
0073 }      /* End namespace dd4hep     */
0074 #endif // DDEVE_DDEVEEVENTDATA_H
0075