181 lines
6.5 KiB
Plaintext
181 lines
6.5 KiB
Plaintext
%{
|
|
#include <G4THitsCollection.hh>
|
|
//MSH_include_begin
|
|
#include "ExN04CalorimeterHit.hh"
|
|
#include "ExN04MuonHit.hh"
|
|
#include "ExN04TrackerHit.hh"
|
|
#include "MarshaledExN04CalorimeterHit.h"
|
|
#include "MarshaledExN04MuonHit.h"
|
|
#include "MarshaledExN04TrackerHit.h"
|
|
//MSH_include_end
|
|
%}
|
|
|
|
// This file is generated automatically from G4THitsCollection.hh . It is an
|
|
// intermediate file useful for debugging, but otherwise may be deleted.
|
|
|
|
marshaling class MarshaledG4HitsCollection (G4HitsCollection* param) {
|
|
|
|
void* theCollection;
|
|
//FIELDMARSHAL:
|
|
{
|
|
int copy_off = 0;
|
|
int $ELE_COUNT;
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
$ELE_COUNT = ((G4THitsCollection<ExN04CalorimeterHit>*)$THIS)->entries();
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
$ELE_COUNT = ((G4THitsCollection<ExN04MuonHit>*)$THIS)->entries();
|
|
else
|
|
$ELE_COUNT = ((G4THitsCollection<ExN04TrackerHit>*)$THIS)->entries();
|
|
|
|
memcpy( $$+copy_off, &$ELE_COUNT,sizeof(int));
|
|
copy_off += sizeof(int);
|
|
for(int $ELE_INDEX=0;$ELE_INDEX<$ELE_COUNT;$ELE_INDEX++){
|
|
if(0){}
|
|
else if((dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL) ){
|
|
void* $ELEMENT;
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04CalorimeterHit>*)$THIS))[$ELE_INDEX];
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04MuonHit>*)$THIS))[$ELE_INDEX];
|
|
else
|
|
$ELEMENT = (*((G4THitsCollection<ExN04TrackerHit>*)$THIS))[$ELE_INDEX];
|
|
|
|
MarshaledExN04CalorimeterHit marEle((ExN04CalorimeterHit* )$ELEMENT);
|
|
EXTEND_BUFFER(marEle.getBufferSize());
|
|
memcpy($$+copy_off, marEle.getBuffer(), marEle.getBufferSize());
|
|
copy_off += marEle.getBufferSize();
|
|
}
|
|
else if( (dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL) ){
|
|
void* $ELEMENT;
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04CalorimeterHit>*)$THIS))[$ELE_INDEX];
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04MuonHit>*)$THIS))[$ELE_INDEX];
|
|
else
|
|
$ELEMENT = (*((G4THitsCollection<ExN04TrackerHit>*)$THIS))[$ELE_INDEX];
|
|
|
|
MarshaledExN04MuonHit marEle((ExN04MuonHit* )$ELEMENT);
|
|
EXTEND_BUFFER(marEle.getBufferSize());
|
|
memcpy($$+copy_off, marEle.getBuffer(), marEle.getBufferSize());
|
|
copy_off += marEle.getBufferSize();
|
|
}
|
|
else if( true ){
|
|
void* $ELEMENT;
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04CalorimeterHit>*)$THIS))[$ELE_INDEX];
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
$ELEMENT = (*((G4THitsCollection<ExN04MuonHit>*)$THIS))[$ELE_INDEX];
|
|
else
|
|
$ELEMENT = (*((G4THitsCollection<ExN04TrackerHit>*)$THIS))[$ELE_INDEX];
|
|
|
|
MarshaledExN04TrackerHit marEle((ExN04TrackerHit*)$ELEMENT);
|
|
EXTEND_BUFFER(marEle.getBufferSize());
|
|
memcpy($$+copy_off, marEle.getBuffer(), marEle.getBufferSize());
|
|
copy_off += marEle.getBufferSize();
|
|
}
|
|
}
|
|
$SIZE = copy_off;
|
|
|
|
}
|
|
//FIELDUNMARSHAL:
|
|
{
|
|
if(0){}
|
|
else if((dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL) ){
|
|
int copy_off = 0;
|
|
int $ELE_COUNT;
|
|
memcpy(&$ELE_COUNT, $$+copy_off, sizeof(int));
|
|
copy_off += sizeof(int);
|
|
for(int $ELE_INDEX=0;$ELE_INDEX<$ELE_COUNT;$ELE_INDEX++){
|
|
MarshaledExN04CalorimeterHit marEle($$+copy_off);
|
|
ExN04CalorimeterHit* $ELEMENT = (ExN04CalorimeterHit* )marEle.unmarshal();
|
|
copy_off += marEle.getBufferSize();
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04CalorimeterHit>*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT);
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04MuonHit>*)$THIS)->insert((ExN04MuonHit*)$ELEMENT);
|
|
else
|
|
((G4THitsCollection<ExN04TrackerHit>*)$THIS)->insert((ExN04TrackerHit*)$ELEMENT);
|
|
|
|
}
|
|
}
|
|
else if( (dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL) ){
|
|
int copy_off = 0;
|
|
int $ELE_COUNT;
|
|
memcpy(&$ELE_COUNT, $$+copy_off, sizeof(int));
|
|
copy_off += sizeof(int);
|
|
for(int $ELE_INDEX=0;$ELE_INDEX<$ELE_COUNT;$ELE_INDEX++){
|
|
MarshaledExN04MuonHit marEle($$+copy_off);
|
|
ExN04MuonHit* $ELEMENT = (ExN04MuonHit* )marEle.unmarshal();
|
|
copy_off += marEle.getBufferSize();
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04CalorimeterHit>*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT);
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04MuonHit>*)$THIS)->insert((ExN04MuonHit*)$ELEMENT);
|
|
else
|
|
((G4THitsCollection<ExN04TrackerHit>*)$THIS)->insert((ExN04TrackerHit*)$ELEMENT);
|
|
|
|
}
|
|
}
|
|
else if( true ){
|
|
int copy_off = 0;
|
|
int $ELE_COUNT;
|
|
memcpy(&$ELE_COUNT, $$+copy_off, sizeof(int));
|
|
copy_off += sizeof(int);
|
|
for(int $ELE_INDEX=0;$ELE_INDEX<$ELE_COUNT;$ELE_INDEX++){
|
|
MarshaledExN04TrackerHit marEle($$+copy_off);
|
|
ExN04TrackerHit* $ELEMENT = (ExN04TrackerHit*)marEle.unmarshal();
|
|
copy_off += marEle.getBufferSize();
|
|
|
|
if(dynamic_cast<G4THitsCollection<ExN04CalorimeterHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04CalorimeterHit>*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT);
|
|
else if(dynamic_cast<G4THitsCollection<ExN04MuonHit>*>($THIS)!=NULL)
|
|
((G4THitsCollection<ExN04MuonHit>*)$THIS)->insert((ExN04MuonHit*)$ELEMENT);
|
|
else
|
|
((G4THitsCollection<ExN04TrackerHit>*)$THIS)->insert((ExN04TrackerHit*)$ELEMENT);
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
//FIELDSIZE:
|
|
{
|
|
|
|
}
|
|
unmarshaling constructor {
|
|
$THIS = new G4HitsCollection();
|
|
}
|
|
}
|
|
|
|
template <class T> marshaling class MarshaledG4THitsCollection<T> (G4THitsCollection<T>* param) : public G4HitsCollection {
|
|
int __dummy812; // marshaling code for MSH_superclass
|
|
//FIELDMARSHAL:
|
|
{
|
|
MarshaledG4HitsCollection marParent($THIS);
|
|
EXTEND_BUFFER(marParent.getBufferSize());
|
|
memcpy($$,marParent.getBuffer(), marParent.getBufferSize());
|
|
$SIZE = marParent.getBufferSize();
|
|
|
|
}
|
|
//FIELD UNMARSHAL:
|
|
{
|
|
MarshaledG4HitsCollection marObj($$);
|
|
marObj.unmarshalTo($THIS);
|
|
|
|
}
|
|
//FIELD SIZE :
|
|
{
|
|
//code for size, just dummy code because the size will be set correctly at the end of marshaling code
|
|
|
|
}
|
|
unmarshaling constructor {
|
|
$THIS = new G4THitsCollection<T>();
|
|
}
|
|
}
|
|
|