%{ #include //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*>($THIS)!=NULL) $ELE_COUNT = ((G4THitsCollection*)$THIS)->entries(); else if(dynamic_cast*>($THIS)!=NULL) $ELE_COUNT = ((G4THitsCollection*)$THIS)->entries(); else $ELE_COUNT = ((G4THitsCollection*)$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*>($THIS)!=NULL) ){ void* $ELEMENT; if(dynamic_cast*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else if(dynamic_cast*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else $ELEMENT = (*((G4THitsCollection*)$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*>($THIS)!=NULL) ){ void* $ELEMENT; if(dynamic_cast*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else if(dynamic_cast*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else $ELEMENT = (*((G4THitsCollection*)$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*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else if(dynamic_cast*>($THIS)!=NULL) $ELEMENT = (*((G4THitsCollection*)$THIS))[$ELE_INDEX]; else $ELEMENT = (*((G4THitsCollection*)$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*>($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*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT); else if(dynamic_cast*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04MuonHit*)$ELEMENT); else ((G4THitsCollection*)$THIS)->insert((ExN04TrackerHit*)$ELEMENT); } } else if( (dynamic_cast*>($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*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT); else if(dynamic_cast*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04MuonHit*)$ELEMENT); else ((G4THitsCollection*)$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*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04CalorimeterHit*)$ELEMENT); else if(dynamic_cast*>($THIS)!=NULL) ((G4THitsCollection*)$THIS)->insert((ExN04MuonHit*)$ELEMENT); else ((G4THitsCollection*)$THIS)->insert((ExN04TrackerHit*)$ELEMENT); } } } //FIELDSIZE: { } unmarshaling constructor { $THIS = new G4HitsCollection(); } } template marshaling class MarshaledG4THitsCollection (G4THitsCollection* 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(); } }