[CMSSW] / CMSSW / SimDataFormats / GeneratorProducts / interface / LHEEventProduct.h Repository:
ViewVC logotype

View of /CMSSW/SimDataFormats/GeneratorProducts/interface/LHEEventProduct.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (download) (annotate)
Thu Feb 5 23:45:45 2009 UTC (4 years, 3 months ago) by saout
Branch: MAIN
CVS Tags: CMSSW_3_6_0_patch1, CMSSW_3_6_0_patch2, CMSSW_5_3_4_cand1, CMSSW_5_3_4_cand2, CMSSW_4_2_3_SLHC_pre1, V01-00-04, V01-00-05, V01-00-06, CMSSW_4_1_4, CMSSW_3_9_5_patch2, V01-00-02, CMSSW_3_9_5_patch1, V01-00-08, V01-00-09, CMSSW_4_2_7_hltpatch3, CMSSW_4_2_7_hltpatch2, CMSSW_4_2_7_hltpatch1, CMSSW_5_3_8_patch3, CMSSW_5_3_4_cand1_patch1, CMSSW_6_1_0_pre6g496cand01, CMSSW_3_2_6, CMSSW_5_2_3_patch3, CMSSW_4_2_8_SLHCtk3, CMSSW_4_2_8_SLHCtk2, CMSSW_3_7_0_patch1, CMSSW_4_1_8_patch10, CMSSW_4_1_8_patch11, CMSSW_3_3_3_TSG, CMSSW_5_2_3_patch2, CMSSW_6_1_2_SLHC3, CMSSW_6_1_2_SLHC2, CMSSW_6_1_2_SLHC1, CMSSW_6_1_2_SLHC4, CMSSW_4_4_3_patch1, CMSSW_3_11_0_pre2, CMSSW_4_2_8_SLHChcal, CMSSW_3_5_0_patch1, CMSSW_5_3_2_patch2, CMSSW_5_3_2_patch1, CMSSW_5_3_2_patch5, CMSSW_5_3_2_patch4, CMSSW_4_1_6, CMSSW_4_1_8_patch8, CMSSW_4_1_8_patch4, CMSSW_4_1_8_patch5, CMSSW_4_1_8_patch6, CMSSW_4_1_8_patch7, CMSSW_4_1_8_patch1, CMSSW_4_1_5, CMSSW_6_0_0_patch1, CMSSW_4_2_0_pre4, CMSSW_6_1_X_2012-12-19-0200, CMSSW_5_0_0_pre6g494, CMSSW_4_2_0_pre5, CMSSW_4_2_9_HLT1_patch1, V01-00-03, CMSSW_4_2_0_pre6, CMSSW_5_3_7_patch4, CMSSW_5_3_7_patch5, CMSSW_5_3_7_patch6, CMSSW_5_3_7_patch1, CMSSW_5_3_7_patch2, CMSSW_5_3_7_patch3, CMSSW_4_2_0_pre3, CMSSW_4_2_1_patch2, CMSSW_4_2_1_patch1, CMSSW_4_3_0, CMSSW_4_1_7_patch1, CMSSW_4_2_8_SLHChcal2_patch1, CMSSW_4_1_7_patch3, CMSSW_4_1_7_patch2, CMSSW_5_0_0_pre1, CMSSW_5_0_0_pre3, CMSSW_5_0_0_pre2, CMSSW_5_0_0_pre5, CMSSW_5_0_0_pre4, CMSSW_5_0_0_pre7, CMSSW_5_0_0_pre6, CMSSW_3_10_0, CMSSW_3_10_1, CMSSW_3_9_2_patch3, CMSSW_3_9_2_patch2, CMSSW_3_9_2_patch1, CMSSW_4_4_0_pre8, CMSSW_4_4_0_pre9, CMSSW_4_4_0_pre6, CMSSW_4_4_0_pre7, CMSSW_4_4_0_pre4, CMSSW_4_4_0_pre5, CMSSW_4_4_0_pre2, CMSSW_4_4_0_pre3, CMSSW_4_4_0_pre1, CMSSW_3_5_1_patch1, CMSSW_3_8_2_patch1, CMSSW_5_3_8_patch1, CMSSW_5_3_3_cand1, CMSSW_5_3_8_patch2, CMSSW_3_2_8, CMSSW_6_1_0_pre3_TS124729, CMSSW_3_2_7, CMSSW_3_2_4, CMSSW_3_2_5, CMSSW_3_2_2, CMSSW_3_2_3, CMSSW_3_2_0, CMSSW_3_2_1, CMSSW_3_1_0_pre10, CMSSW_3_1_0_pre11, CMSSW_5_3_2_metpatch1, CMSSW_3_9_1_patch1, CMSSW_3_3_0_pre3, CMSSW_3_8_0, CMSSW_3_8_1, CMSSW_3_8_2, CMSSW_3_8_3, CMSSW_3_8_4, CMSSW_3_8_5, CMSSW_3_8_6, V01-01-08, V01-01-07, V01-01-06, V01-01-05, V01-01-04, V01-01-03, V01-01-02, V01-01-01, V01-01-00, CMSSW_3_5_0_pre1, CMSSW_3_5_0_pre2, CMSSW_3_5_0_pre3, CMSSW_3_5_0_pre5, CMSSW_3_6_2, CMSSW_3_6_3, CMSSW_3_6_0, CMSSW_3_6_1, CMSSW_6_2_0_pre6, CMSSW_4_2_8_SLHCtk_patch1, CMSSW_4_2_8_SLHCtk_patch2, CMSSW_6_2_0_pre5, CMSSW_6_2_0_pre2, CMSSW_6_2_0_pre3, CMSSW_3_4_2, CMSSW_6_2_0_pre1, CMSSW_4_2_8_patch5, CMSSW_4_2_8_patch4, CMSSW_4_2_8_patch7, CMSSW_3_9_9_patch1, CMSSW_4_2_8_patch1, CMSSW_4_2_8_patch3, CMSSW_4_2_8_patch2, CMSSW_4_4_0_pre10, CMSSW_3_10_0_pre7g494c1, CMSSW_4_4_X_2011-06-09-0400, CMSSW_5_1_2, CMSSW_5_1_1, CMSSW_6_0_1_PostLS1v2_patch1, CMSSW_6_0_1_PostLS1v2_patch3, CMSSW_6_0_1_PostLS1v2_patch2, CMSSW_6_0_1_PostLS1v2_patch4, CMSSW_5_3_1, CMSSW_5_3_0, CMSSW_5_3_3, CMSSW_5_3_2, CMSSW_5_3_5, CMSSW_5_3_4, CMSSW_5_3_7, CMSSW_5_2_3_patch4, CMSSW_5_3_9, CMSSW_5_3_8, CMSSW_sm120515a, CMSSW_5_3_6_patch1, CMSSW_6_1_1_SLHCphase1tk1, CMSSW_3_7_0_pre4, CMSSW_4_2_1, CMSSW_3_7_0_pre2, CMSSW_4_2_9_HLT, CMSSW_3_7_0_pre1, CMSSW_3_8_7, CMSSW_4_4_0_patch3, CMSSW_4_4_0_patch2, CMSSW_4_4_0_patch1, CMSSW_4_2_0, CMSSW_6_1_1_SLHCphase2tk1, CMSSW_4_2_8_SLHC2_patch1, CMSSW_4_2_8_SLHC2_patch2, CMSSW_4_2_8_SLHCstd, CMSSW_5_3_8_HI_patch1, CMSSW_5_3_8_HI_patch2, CMSSW_5_2_0_pre6, CMSSW_5_2_0_pre5, CMSSW_5_2_0_pre4, CMSSW_3_4_2_patch1, CMSSW_5_0_X_2011-12-18-0200, CMSSW_4_1_3_patch2, CMSSW_6_0_0_TS123272, CMSSW_3_11_1_hltpatch1, CMSSW_3_11_1, CMSSW_3_11_0, CMSSW_3_11_3, CMSSW_3_11_2, CMSSW_4_2_3_SLHC4_patch1, CMSSW_4_1_4_patch1, CMSSW_4_1_4_patch2, CMSSW_4_1_4_patch3, CMSSW_4_1_4_patch4, CMSSW_3_7_0_patch3, CMSSW_3_7_0_patch2, CMSSW_3_3_0_pre2, CMSSW_3_3_6, CMSSW_3_3_5, CMSSW_3_3_4, CMSSW_3_3_3, CMSSW_3_3_2, CMSSW_3_3_1, CMSSW_3_3_0, CMSSW_3_7_0_patch4, CMSSW_5_2_6_hltpatch1, CMSSW_4_2_4_patch1, CMSSW_4_2_4_patch2, CMSSW_3_4_0_pre2, CMSSW_5_3_7_alcapatch1, CMSSW_3_4_0_pre7, CMSSW_3_4_0_pre6, CMSSW_3_4_0_pre5, CMSSW_3_4_0_pre4, CMSSW_3_4_0_pre3, CMSSW_5_3_10, CMSSW_3_4_0_pre1, CMSSW_3_9_9, CMSSW_3_9_8, CMSSW_5_2_4_patch4, CMSSW_5_2_4_patch2, CMSSW_5_2_4_patch3, CMSSW_5_2_4_patch1, CMSSW_5_3_9_patch2, CMSSW_5_3_9_patch3, CMSSW_6_0_1_PostLS1v1, CMSSW_5_3_9_patch1, CMSSW_3_9_5, CMSSW_3_9_4, CMSSW_3_9_7, CMSSW_3_9_6, CMSSW_3_1_1, CMSSW_3_1_0, CMSSW_3_1_3, CMSSW_3_1_2, CMSSW_4_4_2_patch9, CMSSW_4_4_2_patch8, CMSSW_4_4_2_patch5, CMSSW_4_4_2_patch4, CMSSW_4_4_2_patch7, CMSSW_4_4_2_patch6, CMSSW_4_4_2_patch1, CMSSW_6_2_0_pre4, CMSSW_4_4_2_patch3, CMSSW_4_4_2_patch2, CMSSW_3_5_8_patch1, CMSSW_3_9_1, CMSSW_3_7_1, CMSSW_3_7_0, CMSSW_3_2_2_patch2, CMSSW_3_5_8_patch4, CMSSW_6_0_1_PostLS1v2, CMSSW_3_4_0, CMSSW_5_0_0_patch1, CMSSW_3_4_1, CMSSW_3_9_2, CMSSW_3_5_8, CMSSW_3_5_5, CMSSW_3_5_4, CMSSW_3_5_7, CMSSW_3_5_6, CMSSW_3_5_1, CMSSW_3_5_0, CMSSW_3_5_3, CMSSW_3_5_2, CMSSW_3_8_4_patch4, CMSSW_3_8_4_patch2, CMSSW_3_8_4_patch3, CMSSW_3_8_4_patch1, CMSSW_5_2_8, CMSSW_5_2_9, CMSSW_5_2_0, CMSSW_5_2_1, CMSSW_5_2_2, CMSSW_5_2_3, CMSSW_5_2_4, CMSSW_4_2_4_hltpatch1, CMSSW_5_2_6, CMSSW_5_2_7, CMSSW_5_2_7_hltpatch2, CMSSW_4_1_6_patch1, CMSSW_3_8_7_patch1, CMSSW_4_2_7_patch1, CMSSW_4_2_7_patch2, CMSSW_3_1_4, CMSSW_5_2_0_pre2, CMSSW_3_10_0_pre9, CMSSW_3_10_0_pre8, CMSSW_3_10_0_pre3, CMSSW_3_10_0_pre2, CMSSW_3_10_0_pre1, CMSSW_3_10_0_pre7, CMSSW_3_10_0_pre6, CMSSW_4_2_8_p7rootfix, CMSSW_3_10_0_pre4, CMSSW_3_3_6_patch5, CMSSW_3_3_6_patch4, CMSSW_6_0_0_pre10, CMSSW_6_0_0_pre11, CMSSW_3_3_6_patch1, CMSSW_3_3_6_patch3, CMSSW_3_3_6_patch2, CMSSW_5_2_0_pre1, CMSSW_3_6_1_patch3, CMSSW_3_6_1_patch1, CMSSW_3_8_0_patch1, CMSSW_3_6_1_patch7, CMSSW_3_6_1_patch6, CMSSW_3_6_1_patch5, CMSSW_3_6_1_patch4, V01-00-07, CMSSW_3_5_8_patch3, CMSSW_3_5_7_hltpatch4, CMSSW_5_0_0, CMSSW_5_0_1, CMSSW_3_2_2_patch1, CMSSW_5_1_3, CMSSW_6_1_2_SLHC2_patch1, CMSSW_4_1_7, CMSSW_6_1_2_SLHC2_patch3, CMSSW_6_1_2_SLHC2_patch2, CMSSW_4_1_2, CMSSW_4_1_3, CMSSW_4_1_8, CMSSW_6_2_0_pre5slc6, CMSSW_5_3_10_patch1, CMSSW_5_2_0_pre3HLT, CMSSW_6_0_0_pre1, CMSSW_6_0_0_pre2, CMSSW_6_0_0_pre3, CMSSW_6_0_0_pre4, CMSSW_6_0_0_pre5, CMSSW_6_0_0_pre6, CMSSW_6_0_0_pre7, CMSSW_6_0_0_pre8, CMSSW_6_0_0_pre9, CMSSW_5_2_3_patch1, CMSSW_4_3_0_pre3, CMSSW_4_3_0_pre2, CMSSW_4_3_0_pre1, CMSSW_4_3_0_pre7, CMSSW_4_3_0_pre6, CMSSW_4_3_0_pre5, CMSSW_4_3_0_pre4, CMSSW_4_4_0_pre7_g494p02, CMSSW_5_3_0_patch1, CMSSW_5_2_5_cand1, V01-02-01-00, CMSSW_5_3_8_HI, CMSSW_4_4_5_patch1, CMSSW_4_4_5_patch2, CMSSW_6_1_0_pre7_TS127013, CMSSW_4_2_2_patch2, CMSSW_4_2_2_patch1, CMSSW_3_6_3_patch1, CMSSW_3_6_3_patch2, CMSSW_4_2_8_SLHCtk, CMSSW_3_8_0_pre2, CMSSW_3_8_0_pre1, CMSSW_3_8_0_pre7, CMSSW_3_8_0_pre6, CMSSW_3_8_0_pre5, CMSSW_3_8_0_pre4, CMSSW_3_8_0_pre8, CMSSW_4_2_8_SLHCtk3_patch2, CMSSW_4_2_8_SLHCtk3_patch1, CMSSW_3_6_3_SLHC1, CMSSW_6_0_0_pre6g495p01, CMSSW_4_2_8_SLHChcal4_patch2, CMSSW_4_2_8_SLHChcal4_patch3, CMSSW_4_2_8_SLHChcal4_patch1, CMSSW_4_2_8_SLHChcal4_patch4, CMSSW_4_2_8_SLHCstd2_patch2, CMSSW_4_2_8_SLHCstd2_patch1, CMSSW_3_3_3_patch1, CMSSW_6_1_0, CMSSW_6_1_1, CMSSW_6_1_2, CMSSW_4_4_3, CMSSW_4_4_2, CMSSW_4_4_1, CMSSW_4_4_0, CMSSW_4_4_5, CMSSW_4_4_4, CMSSW_3_5_8_patch2, CMSSW_5_2_6_patch1, CMSSW_5_2_6_patch2, CMSSW_3_11_0_pre1, CMSSW_6_0_0_SLHCtkpre1, CMSSW_3_11_0_pre3, CMSSW_3_11_0_pre4, CMSSW_3_11_0_pre5, CMSSW_4_2_9_HLT2, CMSSW_4_2_9_HLT3, CMSSW_4_2_9_HLT1, CMSSW_3_1_0_patch1, CMSSW_6_2_0_pre6_patch1, CMSSW_3_7_0_pre5, CMSSW_6_1_0_pre6_TS126203_TS126341_patch1, CMSSW_3_7_0_pre3, CMSSW_4_2_9_HLT1_hltpatch2, CMSSW_5_2_5, CMSSW_4_2_8, V01-02-00, V01-02-01, CMSSW_5_2_0_pre3, CMSSW_4_4_2_patch10, CMSSW_4_2_3, CMSSW_4_2_2, CMSSW_4_2_5, CMSSW_4_2_4, CMSSW_4_2_7, CMSSW_4_2_6, CMSSW_5_0_0_pre5_root532rc1, CMSSW_5_1_1_patch1, CMSSW_5_1_1_patch2, CMSSW_5_1_1_patch3, CMSSW_3_8_1_patch4, CMSSW_3_8_1_patch1, CMSSW_3_8_1_patch3, CMSSW_3_8_1_patch2, CMSSW_3_1_0_pre7, CMSSW_3_8_6_patch1, CMSSW_3_5_4_patch1, CMSSW_4_4_0_patch4, CMSSW_3_10_0_pre5, CMSSW_3_6_0_pre5, CMSSW_3_6_0_pre4, CMSSW_3_6_0_pre6, CMSSW_3_6_0_pre1, CMSSW_3_6_0_pre3, CMSSW_3_6_0_pre2, CMSSW_6_0_0_pre7py273, CMSSW_3_3_0_pre1, CMSSW_5_1_2_patch1, CMSSW_3_3_6_patch6, CMSSW_4_2_2_SLHC_pre1, CMSSW_4_2_9_HLT1_bphpatch1, CMSSW_4_2_9_HLT1_bphpatch2, CMSSW_4_2_9_HLT1_bphpatch3, CMSSW_4_2_9_HLT1_bphpatch4, CMSSW_3_9_0, CMSSW_4_3_0_dqmpatch2, CMSSW_4_3_0_dqmpatch1, CMSSW_3_5_4_patch2, CMSSW_3_9_3, CMSSW_3_9_8_patch1, CMSSW_4_2_8_SLHC1, CMSSW_4_2_8_SLHC2, CMSSW_3_9_8_patch2, CMSSW_5_2_4_hltpatch4, CMSSW_5_2_4_hltpatch2, CMSSW_3_11_1_hclpatch1, CMSSW_3_11_1_patch3, CMSSW_3_11_1_patch1, CMSSW_6_0_X, CMSSW_5_3_7_25nspatch1, CMSSW_3_3_0_pre6, CMSSW_4_2_8_SLHCstd2, CMSSW_6_0_1, CMSSW_6_0_0, CMSSW_4_2_8_patch6, CMSSW_4_2_8_SLHChcal4, CMSSW_4_2_8_SLHChcal5, CMSSW_4_2_8_SLHChcal6, CMSSW_4_2_0_pre7, CMSSW_4_2_0_pre1, CMSSW_4_2_0_pre2, CMSSW_4_2_8_SLHChcal3, CMSSW_4_2_0_pre8, CMSSW_4_2_8_SLHChcal2_patch2, CMSSW_4_2_8_SLHChcal2_patch3, CMSSW_3_3_0_pre4, CMSSW_4_2_5_hltpatch1, CMSSW_5_3_3_patch1, CMSSW_5_3_3_patch2, CMSSW_5_3_3_patch3, CMSSW_3_5_2_patch2, CMSSW_3_5_2_patch1, CMSSW_3_3_0_pre5, CMSSW_5_2_5_patch1, CMSSW_5_2_5_patch3, CMSSW_5_2_5_patch2, CMSSW_5_2_5_ecalpatch1, CMSSW_5_1_0_pre2, CMSSW_5_2_0_pre2_TS113282, CMSSW_5_1_0_pre1, CMSSW_5_3_4_TC125616patch1, CMSSW_3_9_0_pre4, CMSSW_3_9_0_pre5, CMSSW_3_9_0_pre6, CMSSW_3_9_0_pre7, CMSSW_3_9_0_pre1, CMSSW_3_9_0_pre2, CMSSW_3_9_0_pre3, CMSSW_6_1_0_pre6_TS126203_TS126341, CMSSW_3_8_5_patch1, CMSSW_3_8_5_patch3, CMSSW_3_8_5_patch2, CMSSW_4_2_9_HLT2_hltpatch1, CMSSW_5_3_4_patch1, CMSSW_5_3_4_patch2, CMSSW_3_1_0_pre8, CMSSW_5_2_X_2012-03-08-0200, CMSSW_3_1_0_pre9, CMSSW_3_9_2_patch5, CMSSW_4_1_2_patch1, CMSSW_3_9_2_patch4, CMSSW_3_1_0_pre4, CMSSW_3_5_6_patch1, CMSSW_3_1_0_pre5, CMSSW_4_3_0_pre6_dqmIO, CMSSW_3_1_0_pre6, CMSSW_4_2_3_patch1, CMSSW_4_2_3_patch2, CMSSW_4_2_3_patch3, CMSSW_4_2_3_patch4, CMSSW_4_2_3_patch5, CMSSW_6_1_0_pre8, CMSSW_6_1_0_pre7, CMSSW_6_1_0_pre6, CMSSW_6_1_0_pre5, CMSSW_6_1_0_pre4, CMSSW_6_1_0_pre3, CMSSW_6_1_0_pre2, CMSSW_6_1_0_pre1, CMSSW_5_2_X_2012-05-03-0200, CMSSW_3_1_0_pre2, CMSSW_3_1_0_pre3, CMSSW_5_0_1_patch3, CMSSW_5_0_1_patch2, CMSSW_5_0_1_patch1, CMSSW_6_0_X_2012-08-07-0200, CMSSW_4_2_3_SLHC4, CMSSW_4_2_3_SLHC3, CMSSW_4_2_3_SLHC2, CMSSW_5_2_0_pre5_TS117504, HEAD
Changes since 1.2: +2 -6 lines
Start of generator product consolidation for 3_1_X:
*   edm::GenInfoProduct -> GenRunInfoProduct
* genEvent* collections -> GenEventInfoProduct
Old GenInfoProduct still available via typedef and deprecation warnings.
#ifndef SimDataFormats_GeneratorProducts_LHEEventProduct_h
#define SimDataFormats_GeneratorProducts_LHEEventProduct_h

#include <memory>
#include <vector>
#include <string>

#include "SimDataFormats/GeneratorProducts/interface/LesHouches.h"
#include "SimDataFormats/GeneratorProducts/interface/PdfInfo.h"

class LHEEventProduct {
    public:
	typedef gen::PdfInfo PDF;

	typedef std::vector<std::string>::const_iterator
						comments_const_iterator;
	typedef std::vector<std::string>::size_type size_type;

	LHEEventProduct() {}
	LHEEventProduct(const lhef::HEPEUP &hepeup) : hepeup_(hepeup) {}
	~LHEEventProduct() {}

	void setPDF(const PDF &pdf) { pdf_.reset(new PDF(pdf)); }
	void addComment(const std::string &line) { comments_.push_back(line); }

	const lhef::HEPEUP &hepeup() const { return hepeup_; }
	const PDF *pdf() const { return pdf_.get(); }

	size_type comments_size() const { return comments_.size(); }
	comments_const_iterator comments_begin() const { return comments_.begin(); }
	comments_const_iterator comments_end() const { return comments_.end(); }

	class const_iterator {
	    public:
		typedef std::forward_iterator_tag	iterator_category;
		typedef std::string			value_type;
		typedef std::ptrdiff_t			difference_type;
		typedef std::string			*pointer;
		typedef std::string			&reference;

		const_iterator() : line(npos) {}
		~const_iterator() {}

		inline bool operator == (const const_iterator &other) const
		{ return line == other.line; }
		inline bool operator != (const const_iterator &other) const
		{ return !operator == (other); }

		inline const_iterator &operator ++ ()
		{ next(); return *this; }
		inline const_iterator operator ++ (int dummy)
		{ const_iterator orig = *this; next(); return orig; }

		const std::string &operator * () const { return tmp; }
		const std::string *operator -> () const { return &tmp; }

	    private:
		friend class LHEEventProduct;

		void next();

		const LHEEventProduct	*event;
		unsigned int		line;
		std::string		tmp;

		static const unsigned int npos = 99999;
	};

	const_iterator begin() const;
	inline const_iterator end() const { return const_iterator(); }

    private:
	lhef::HEPEUP			hepeup_;
	std::vector<std::string>	comments_;
	std::auto_ptr<PDF>		pdf_;
};

#endif // GeneratorEvent_LHEInterface_LHEEventProduct_h

CERN LCG CVS service
ViewVC Help
Powered by ViewVC 1.0.9