Skip to content
Snippets Groups Projects
OmegaPiEventList.hh 2.34 KiB
#ifndef _OmegaPiEventList_H
#define _OmegaPiEventList_H

#include <iostream>
#include <vector>

#include <boost/archive/text_oarchive.hpp> 
#include <boost/archive/text_iarchive.hpp> 

#include <cassert>
// #include <TSystem.h>
#include "qft++/topincludes/relativistic-quantum-mechanics.hh"
#include "Examples/MATpbarpToOmegaPi/OmegaPiData.hh"

using OmegaPiData::OmPiEvtData;

class EventList;

class OmegaPiEventList {

  friend class boost::serialization::access; 

  template <typename Archive> 
  void serialize(Archive & ar, const unsigned int) {
    using boost::serialization::make_nvp;

   // unsigned _jmax;
   // unsigned _pbarmom;
   // std::vector<OmPiEvtData> _dataList;
   // std::vector<OmPiEvtData> _mcList;

    ar & BOOST_SERIALIZATION_NVP(_jmax);
    ar & BOOST_SERIALIZATION_NVP(_pbarmom);
    ar & BOOST_SERIALIZATION_NVP(_dataList);
    ar & BOOST_SERIALIZATION_NVP(_mcList);

    /* Add your own class-variables here in the following way:
      ar & BOOST_SERIALIZATION_NVP(myVar);
      or
      ar & make_nvp("myVar", myVar); // The latter form can be necessary when dealing with templates
    */
  }

public:

  // create/copy/destroy:

  ///Constructor 
  OmegaPiEventList(EventList& evtListData, EventList& evtListMc, unsigned jmax, unsigned pbarmom);



  /** Destructor */
  virtual ~OmegaPiEventList();

  // Getters:
  const std::vector<OmPiEvtData>& getDataVecs() const {return _dataList;}
  const std::vector<OmPiEvtData>& getMcVecs() const {return _mcList;}
  const unsigned jMax() const {return _jmax;}
  const unsigned pbarMom() const {return _pbarmom;}

//   int kindOfData() const {return _kindOfData;}

protected:


private:

  OmegaPiEventList();