44 #ifndef CEXMC_SIMPLE_PRODUCTION_MODEL_DATA_STORE_HH
45 #define CEXMC_SIMPLE_PRODUCTION_MODEL_DATA_STORE_HH
47 #ifdef CEXMC_USE_PERSISTENCY
49 #include <boost/serialization/access.hpp>
55 class CexmcSimpleProductionModelDataStore
57 friend class boost::serialization::access;
58 #ifdef CEXMC_USE_CUSTOM_FILTER
59 friend class CexmcASTEval;
63 CexmcSimpleProductionModelDataStore();
65 CexmcSimpleProductionModelDataStore(
72 template <
typename Archive >
73 void serialize( Archive & archive,
const unsigned int version );
76 CexmcSimpleLorentzVectorStore incidentParticleSCM;
78 CexmcSimpleLorentzVectorStore incidentParticleLAB;
80 CexmcSimpleLorentzVectorStore nucleusParticleSCM;
82 CexmcSimpleLorentzVectorStore nucleusParticleLAB;
84 CexmcSimpleLorentzVectorStore outputParticleSCM;
86 CexmcSimpleLorentzVectorStore outputParticleLAB;
88 CexmcSimpleLorentzVectorStore nucleusOutputParticleSCM;
90 CexmcSimpleLorentzVectorStore nucleusOutputParticleLAB;
92 G4int incidentParticle;
94 G4int nucleusParticle;
98 G4int nucleusOutputParticle;
102 template <
typename Archive >
103 void CexmcSimpleProductionModelDataStore::serialize( Archive & archive,
106 archive & incidentParticleSCM;
107 archive & incidentParticleLAB;
108 archive & nucleusParticleSCM;
109 archive & nucleusParticleLAB;
110 archive & outputParticleSCM;
111 archive & outputParticleLAB;
112 archive & nucleusOutputParticleSCM;
113 archive & nucleusOutputParticleLAB;
114 archive & incidentParticle;
115 archive & nucleusParticle;
116 archive & outputParticle;
117 archive & nucleusOutputParticle;