Project
Loading...
Searching...
No Matches
o2::eventgen::GeneratorHepMC Class Reference

#include <GeneratorHepMC.h>

Inherits o2::eventgen::Generator, and o2::eventgen::GeneratorFileOrCmd.

Public Member Functions

 GeneratorHepMC ()
 
 GeneratorHepMC (const Char_t *name, const Char_t *title="ALICEo2 HepMC Generator")
 
 ~GeneratorHepMC () override
 
Bool_t Init () override
 
void setup (const GeneratorFileOrCmdParam &param0, const GeneratorHepMCParam &param, const conf::SimConfig &config)
 
void setup (const FileOrCmdGenConfig &param0, const HepMCGenConfig &param, const conf::SimConfig &config)
 
Bool_t generateEvent () override
 
Bool_t importParticles () override
 
void setEventsToSkip (uint64_t val)
 
void setVersion (const int &ver)
 
- Public Member Functions inherited from o2::eventgen::Generator
 Generator ()
 
 Generator (const Char_t *name, const Char_t *title="ALICEo2 Generator")
 
 ~Generator () override=default
 
Bool_t Init () override
 
Bool_t ReadEvent (FairPrimaryGenerator *primGen) final
 
Bool_t triggerEvent ()
 
void setMomentumUnit (double val)
 
void setEnergyUnit (double val)
 
void setPositionUnit (double val)
 
void setTimeUnit (double val)
 
void setBoost (Double_t val)
 
void setTriggerMode (ETriggerMode_t val)
 
void addTrigger (Trigger trigger)
 
void addDeepTrigger (DeepTrigger trigger)
 
const std::vector< TParticle > & getParticles () const
 
void clearParticles ()
 
virtual void notifyEmbedding (const o2::dataformats::MCEventHeader *eventHeader)
 
void setTriggerOkHook (std::function< void(std::vector< TParticle > const &p, int eventCount)> f)
 
void setTriggerFalseHook (std::function< void(std::vector< TParticle > const &p, int eventCount)> f)
 
- Public Member Functions inherited from o2::eventgen::GeneratorFileOrCmd
void setup (const GeneratorFileOrCmdParam &param, const conf::SimConfig &config)
 
void setup (const FileOrCmdGenConfig &param, const conf::SimConfig &config)
 
void setCmd (const std::string &cmd)
 
void setCmdPid (const pid_t cmdPid)
 
void setNEvents (unsigned int nev)
 
void setSeed (unsigned long seed)
 
void setBmax (float bmax)
 
void setFileNames (const std::string &filenames)
 
void setOutputSwitch (const std::string &opt)
 
void setSeedSwitch (const std::string &opt)
 
void setNEventsSwitch (const std::string &opt)
 
void setBmaxSwitch (const std::string &opt)
 
void setBackgroundSwitch (const std::string &opt)
 
void setWait (int miliseconds=500)
 

Protected Types

typedef bool(* Select) (std::shared_ptr< const HepMC3::GenParticle >)
 

Protected Member Functions

 GeneratorHepMC (const GeneratorHepMC &)
 
GeneratorHepMCoperator= (const GeneratorHepMC &)
 
const HepMC3::FourVector getBoostedVector (const HepMC3::FourVector &vector, Double_t boost)
 
void updateHeader (o2::dataformats::MCEventHeader *eventHeader) override
 
bool makeReader ()
 
void pruneEvent (Select select)
 
 ClassDefOverride (GeneratorHepMC, 1)
 
- Protected Member Functions inherited from o2::eventgen::Generator
 Generator (const Generator &)
 
Generatoroperator= (const Generator &)
 
Bool_t addTracks (FairPrimaryGenerator *primGen)
 
Bool_t boostEvent ()
 
void addSubGenerator (int subGeneratorId, std::string const &subGeneratorDescription)
 
void notifySubGenerator (int subGeneratorId)
 
- Protected Member Functions inherited from o2::eventgen::GeneratorFileOrCmd
virtual std::string makeCmdLine () const
 
virtual bool executeCmdLine (const std::string &cmd)
 
virtual bool terminateCmd ()
 
virtual bool makeTemp (const bool &)
 
virtual bool removeTemp () const
 
virtual bool makeFifo () const
 
virtual bool ensureFiles ()
 
virtual void waitForData (const std::string &filename) const
 

Protected Attributes

uint64_t mEventsToSkip = 0
 
int mVersion = 0
 
std::shared_ptr< HepMC3::Reader > mReader
 
HepMC3::GenEvent * mEvent = nullptr
 
bool mPrune
 
- Protected Attributes inherited from o2::eventgen::Generator
voidmInterface = nullptr
 
std::string mInterfaceName
 
ETriggerMode_t mTriggerMode = kTriggerOFF
 
std::vector< TriggermTriggers
 
std::vector< DeepTriggermDeepTriggers
 
std::function< void(std::vector< TParticle > const &p, int eventCount)> mTriggerOkHook = [](std::vector<TParticle> const& p, int eventCount) {}
 
std::function< void(std::vector< TParticle > const &p, int eventCount)> mTriggerFalseHook = [](std::vector<TParticle> const& p, int eventCount) {}
 
int mReadEventCounter = 0
 
double mMomentumUnit = 1.
 
double mEnergyUnit = 1.
 
double mPositionUnit = 0.1
 
double mTimeUnit = 3.3356410e-12
 
std::vector< TParticle > mParticles
 
Double_t mBoost
 
int mThisInstanceID = 0
 
- Protected Attributes inherited from o2::eventgen::GeneratorFileOrCmd
std::string mCmd = ""
 
std::list< std::string > mFileNames
 
std::string mTemporary
 
unsigned int mNEvents = 0
 
unsigned long mSeed = 0
 
float mBmax = -1.f
 
std::string mOutputSwitch = ">"
 
std::string mSeedSwitch = "-s"
 
std::string mNEventsSwitch = "-n"
 
std::string mBmaxSwitch = "-b"
 
std::string mBackgroundSwitch = "&"
 
int mWait = 500
 
int mCmdPid = -1
 

Additional Inherited Members

- Public Types inherited from o2::eventgen::Generator
enum  ETriggerMode_t { kTriggerOFF , kTriggerOR , kTriggerAND }
 
- Static Public Member Functions inherited from o2::eventgen::Generator
static void setTotalNEvents (unsigned int &n)
 
static unsigned int getTotalNEvents ()
 
- Static Protected Attributes inherited from o2::eventgen::Generator
static std::atomic< intInstanceCounter {0}
 

Detailed Description

Definition at line 51 of file GeneratorHepMC.h.

Member Typedef Documentation

◆ Select

typedef bool(* o2::eventgen::GeneratorHepMC::Select) (std::shared_ptr< const HepMC3::GenParticle >)
protected

Type of function to select particles to keep when pruning events

Definition at line 113 of file GeneratorHepMC.h.

Constructor & Destructor Documentation

◆ GeneratorHepMC() [1/3]

o2::eventgen::GeneratorHepMC::GeneratorHepMC ( )

default constructor

Definition at line 39 of file GeneratorHepMC.cxx.

◆ GeneratorHepMC() [2/3]

o2::eventgen::GeneratorHepMC::GeneratorHepMC ( const Char_t *  name,
const Char_t *  title = "ALICEo2 HepMC Generator" 
)

constructor

constructor

Definition at line 46 of file GeneratorHepMC.cxx.

◆ ~GeneratorHepMC()

o2::eventgen::GeneratorHepMC::~GeneratorHepMC ( )
override

destructor

default destructor

Definition at line 58 of file GeneratorHepMC.cxx.

◆ GeneratorHepMC() [3/3]

o2::eventgen::GeneratorHepMC::GeneratorHepMC ( const GeneratorHepMC )
protected

copy constructor

Member Function Documentation

◆ ClassDefOverride()

o2::eventgen::GeneratorHepMC::ClassDefOverride ( GeneratorHepMC  ,
 
)
protected

◆ generateEvent()

Bool_t o2::eventgen::GeneratorHepMC::generateEvent ( )
overridevirtual

Generate a single event. The event is read in from the current input file. Returns false if a new event could not be read.

generate event

clear and read event

set units to desired output

failure

Implements o2::eventgen::Generator.

Definition at line 142 of file GeneratorHepMC.cxx.

◆ getBoostedVector()

const HepMC3::FourVector o2::eventgen::GeneratorHepMC::getBoostedVector ( const HepMC3::FourVector &  vector,
Double_t  boost 
)
protected

methods

◆ importParticles()

Bool_t o2::eventgen::GeneratorHepMC::importParticles ( )
overridevirtual

Import particles from the last read event into a vector TParticle. Returns false if no particles could be exported to the vector.

import particles

loop over particles

get particle information

get mother information

get daughter information

add to particle vector

end of loop over particles

success

Implements o2::eventgen::Generator.

Definition at line 276 of file GeneratorHepMC.cxx.

◆ Init()

Bool_t o2::eventgen::GeneratorHepMC::Init ( )
override

Initialize the generator.

init

init base class

Definition at line 548 of file GeneratorHepMC.cxx.

◆ makeReader()

bool o2::eventgen::GeneratorHepMC::makeReader ( )
protected

Make our reader

Definition at line 505 of file GeneratorHepMC.cxx.

◆ operator=()

GeneratorHepMC & o2::eventgen::GeneratorHepMC::operator= ( const GeneratorHepMC )
protected

operator=

◆ pruneEvent()

void o2::eventgen::GeneratorHepMC::pruneEvent ( Select  select)
protected

Prune event of particles that are not selected by passed function. The event structure is preserved.

Definition at line 175 of file GeneratorHepMC.cxx.

◆ setEventsToSkip()

void o2::eventgen::GeneratorHepMC::setEventsToSkip ( uint64_t  val)
inline

setters

Definition at line 90 of file GeneratorHepMC.h.

◆ setup() [1/2]

void o2::eventgen::GeneratorHepMC::setup ( const FileOrCmdGenConfig param0,
const HepMCGenConfig param,
const conf::SimConfig config 
)

Definition at line 110 of file GeneratorHepMC.cxx.

◆ setup() [2/2]

void o2::eventgen::GeneratorHepMC::setup ( const GeneratorFileOrCmdParam param0,
const GeneratorHepMCParam param,
const conf::SimConfig config 
)

Configure the generator from parameters and the general simulation configuration. This is implemented as a member function so as to better facilitate changes.

Definition at line 78 of file GeneratorHepMC.cxx.

◆ setVersion()

void o2::eventgen::GeneratorHepMC::setVersion ( const int ver)
inline

Definition at line 91 of file GeneratorHepMC.h.

◆ updateHeader()

void o2::eventgen::GeneratorHepMC::updateHeader ( o2::dataformats::MCEventHeader eventHeader)
overrideprotectedvirtual

methods that can be overridded

update header

Reimplemented from o2::eventgen::Generator.

Definition at line 411 of file GeneratorHepMC.cxx.

Member Data Documentation

◆ mEvent

HepMC3::GenEvent* o2::eventgen::GeneratorHepMC::mEvent = nullptr
protected

Event structure

Definition at line 124 of file GeneratorHepMC.h.

◆ mEventsToSkip

uint64_t o2::eventgen::GeneratorHepMC::mEventsToSkip = 0
protected

HepMC interface

Definition at line 119 of file GeneratorHepMC.h.

◆ mPrune

bool o2::eventgen::GeneratorHepMC::mPrune
protected

Option whether to prune event

Definition at line 126 of file GeneratorHepMC.h.

◆ mReader

std::shared_ptr<HepMC3::Reader> o2::eventgen::GeneratorHepMC::mReader
protected

Definition at line 122 of file GeneratorHepMC.h.

◆ mVersion

int o2::eventgen::GeneratorHepMC::mVersion = 0
protected

HepMC event record version to expected. Deprecated.

Definition at line 121 of file GeneratorHepMC.h.


The documentation for this class was generated from the following files: