Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-07-01 07:05:42

0001 /**
0002  \file      Declaration of class erhic::EventSartre. 
0003  \author    Barak Schmookler
0004  \date      2020-04-20
0005  */
0006 
0007 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTSARTRE_H_
0008 #define INCLUDE_EICSMEAR_ERHIC_EVENTSARTRE_H_
0009 
0010 #include <string>
0011 #include <Rtypes.h>
0012 #include "eicsmear/erhic/EventMC.h"
0013 
0014 namespace erhic {
0015 
0016 /**
0017  Describes an event from the generator SIMPLE.
0018  */
0019 class EventSartre : public EventMC {
0020  public:
0021   /**
0022    Constructor.
0023    */
0024   EventSartre();
0025 
0026   /**
0027    Parses the event information from a text string.
0028    
0029    The string must have the following format (no newlines):
0030    \verbatim
0031    "0 ievent genevent truet trueQ2 truex truey trueW2
0032     truenu truexpom s_cm pol dmode bup"
0033    \endverbatim
0034    Returns true in the event of a successful read operation,
0035    false in case of an error.
0036    */
0037   virtual bool Parse(const std::string&);
0038 
0039   /**  Returns a pointer to the scattered lepton in the event record.
0040        This is the first (only?) particle that matches the following:
0041        1) pdg code equals that of incident lepton beam.
0042        2) status code is 1 i.e. it's a stable/final-state particle.
0043        3) the parent is track 1 or 2
0044   */
0045   const ParticleMC* ScatteredLepton() const;
0046   /**
0047      Returns a pointer to the exchanged boson.   
0048      It would probably be the third track, but we'll go with the first status=21 boson
0049      that has particle 1 or 2 as parent
0050   */
0051   virtual const ParticleMC* ExchangeBoson() const;
0052 
0053 
0054  protected:
0055   Int_t       genevent;         ///< Trials required for this event (dummy right now)
0056   Double32_t  trueT; 
0057   Double32_t  trueQ2;
0058   Double32_t  trueX;
0059   Double32_t  trueY;
0060   Double32_t  trueW2;
0061   Double32_t  trueNu;
0062   Double32_t  trueXpom;
0063   Double32_t  s_cm;
0064   Int_t       pol;
0065   Int_t       dmode;
0066   Int_t       bup; 
0067 
0068   ClassDef(erhic::EventSartre, 1)
0069 };
0070 
0071 }  // namespace erhic
0072 
0073 #endif  // INCLUDE_EICSMEAR_ERHIC_EVENTSARTRE_H_