Page MenuHomeHEPForge

EvtHepMCEvent.hh
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

EvtHepMCEvent.hh

//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtHepMCEvent
//
// Description: Create an HepMC::GenEvent for the complete EvtParticle
// decay tree.
//
// Modification history:
//
// John Back June 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHEPMCEVENT_HH
#define EVTHEPMCEVENT_HH
#include "EvtGenBase/EvtVector4R.hh"
#include "HepMC/GenEvent.h"
#include "HepMC/GenParticle.h"
#include "HepMC/SimpleVector.h"
class EvtParticle;
class EvtHepMCEvent {
public:
EvtHepMCEvent();
virtual ~EvtHepMCEvent();
// Select what frame a given GenParticle is in:
// its own restframe, the lab frame (first mother), or its mother's frame
enum HepMCFrame {RESTFRAME = 1, LAB = 2, MOTHER = 3};
// Select the GenParticle status
enum HepMCStatus {STABLE = 1, DECAYED = 2, HISTORY = 3};
void constructEvent(EvtParticle* baseParticle);
void constructEvent(EvtParticle* baseParticle, EvtVector4R& translation);
HepMC::GenEvent* getEvent() {return _theEvent;}
// Methods used to create GenParticles and FourVectors of vertices.
// Make these public so that other classes may call them if they use EvtHepMCEvent.
// Create a GenParticle using info from the EvtParticle, specifying what frame
// the 4-momentum is from.
HepMC::GenParticle* createGenParticle(EvtParticle* theParticle, int frameType);
// Find out the decay vertex position for the given EvtParticle.
HepMC::FourVector getVertexCoord(EvtParticle* theParticle);
protected:
private:
// Delete the event structure (called by destructor)
void deleteEvent();
// Add a vertex to the event. This is called by the constructEvent function
// and is recursive, i.e. it loops through all possible daughter particles and
// their descendents.
void addVertex(EvtParticle* inEvtParticle, HepMC::GenParticle* inGenParticle);
HepMC::GenEvent* _theEvent;
EvtVector4R _translation;
};
#endif

File Metadata

Mime Type
text/x-c++
Expires
Tue, Sep 30, 4:40 AM (22 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6454873
Default Alt Text
EvtHepMCEvent.hh (2 KB)

Event Timeline