Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-28 07:02:48

0001 /**
0002  \file
0003  Declaration of class Smear::EventDisFactory.
0004  
0005  \author    Michael Savastio
0006  \date      2011-08-19
0007  \copyright 2011 Brookhaven National Lab
0008  */
0009 
0010 #ifndef INCLUDE_EICSMEAR_SMEAR_EVENTDISFACTORY_H_
0011 #define INCLUDE_EICSMEAR_SMEAR_EVENTDISFACTORY_H_
0012 
0013 #include "eicsmear/smear/Detector.h"
0014 #include "eicsmear/smear/EventSmear.h"
0015 #include "eicsmear/smear/EventFactory.h"
0016 
0017 class TBranch;
0018 
0019 namespace erhic {
0020 
0021 class EventDis;
0022 
0023 }  // namespace erhic
0024 
0025 namespace Smear {
0026 
0027 /**
0028  Factory class for smeared DIS events.
0029  */
0030 class EventDisFactory : public EventFactory<Smear::Event> {
0031  public:
0032   /**
0033    Destructor.
0034    */
0035   virtual ~EventDisFactory();
0036 
0037   /**
0038    Constructor.
0039    Initialise with the Detector performing particle smearing and
0040    the tree branch providing DIS Monte Carlo events.
0041    */
0042   EventDisFactory(const Detector&, TBranch&);
0043 
0044   /**
0045    Create a smeared event corresponding to the current DIS Monte Carlo
0046    event in the input branch passed to the constructor.
0047    The user should call TTree::GetEntry() on the tree with the
0048    input branch between calls to Create().
0049    */
0050   virtual Event* Create();
0051 
0052   erhic::VirtualEvent* GetEvBufferPtr();
0053 
0054  protected:
0055   Detector mDetector;
0056   erhic::EventDis* mMcEvent;
0057 };
0058 
0059 inline erhic::VirtualEvent* EventDisFactory::GetEvBufferPtr() {
0060   return mMcEvent;
0061 }
0062 
0063 }  // namespace Smear
0064 
0065 #endif  // INCLUDE_EICSMEAR_SMEAR_EVENTDISFACTORY_H_