![]() |
|
|||
File indexing completed on 2025-02-22 10:33:31
0001 /** 0002 \file 0003 Declaration of class erhic::VirtualEvent. 0004 0005 \author Thomas Burton 0006 \date 2011-08-19 0007 \copyright 2011 Brookhaven National Lab 0008 */ 0009 0010 #ifndef INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_ 0011 #define INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_ 0012 0013 #include <TObject.h> 0014 0015 #include <vector> 0016 0017 namespace erhic { 0018 0019 class VirtualParticle; 0020 0021 /** 0022 \brief Abstract base class for a physics event. 0023 \details Defines an "event" simply as a collection of tracks. 0024 */ 0025 class VirtualEvent : public TObject { 0026 public: 0027 /** 0028 Destructor 0029 */ 0030 virtual ~VirtualEvent() { } 0031 0032 /** 0033 Returns the nth track from the event. 0034 0035 Indices run from 0 to (n-1). 0036 */ 0037 virtual const VirtualParticle* GetTrack(UInt_t /* number */) const = 0; 0038 0039 /** 0040 \overload 0041 */ 0042 virtual VirtualParticle* GetTrack(UInt_t /*number*/) = 0; 0043 0044 /** 0045 Returns the number of tracks in the event. 0046 */ 0047 virtual UInt_t GetNTracks() const = 0; 0048 0049 /** 0050 typedef for a track pointer collection. 0051 */ 0052 typedef std::vector<const erhic::VirtualParticle*> ParticlePtrList; 0053 0054 /** 0055 Populate a track list with the hadronic final-state. 0056 Note that the method is a bit of a misnomer - it will return ALL final 0057 particles other than the scattered lepton 0058 (intentionally, since you want to take decay products into account as well) 0059 */ 0060 virtual void HadronicFinalState(ParticlePtrList&) const { } 0061 0062 ClassDef(erhic::VirtualEvent, 1) 0063 }; 0064 0065 } // namespace erhic 0066 0067 #endif // INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |