//____________________________________________________________________________ /*! \class genie::GSeaEvent \brief A class for generated event by gSeaGen \author Carla Distefano LNS-INFN, Catania Included modifications by Alfonso Garcia NIKHEF, Amsterdam (January 2019) \created November 25, 2015 \cpright Copyright (c) 2015-2019, The KM3NeT Collaboration For the full text of the license see $GSEAGEN/LICENSE */ //____________________________________________________________________________ #include #include "SeaEvent/GSeaEvent.h" using namespace std; //____________________________________________________________________________ GSeaEvent::GSeaEvent(){ } //___________________________________________________________________________ GSeaEvent::~GSeaEvent(){ } //___________________________________________________________________________ void GSeaEvent::Reset(void){ iEvt=0; PScale=0.; NInter=0; Vertex.SetXYZT (0., 0.,0., 0.); VerInCan=0; LepInCan=false; SWXSec=0.; WaterXSec=0.; WaterIntLen=0.; TargetA=0; TargetZ=0; ScattId=0; InterId=0; Bx=0.; By=0.; XSec=0.; DXSec=0.; NTracks=0; NRetries=0; EarthNeutrino.Reset(); Neutrino.Reset(); PrimaryLepton.Reset(); Tracks.clear(); GenWeight=0.; EvtWeight=0.; SysWgt.WList.clear(); SysWgt.WParam.clear(); Agen=0.; ColumnDepth=0.; PEarth=0.; XSecMean=0.; DistaMax=0.; MJD=0.; LST=0.; EvtTime[0]=0; EvtTime[1]=0; return; } //___________________________________________________________________________ void GSeaEvent::Copy(GSeaEvent * SeaEvt){ this->Reset(); iEvt=SeaEvt->iEvt; PScale=SeaEvt->PScale; NInter=SeaEvt->NInter; Vertex=SeaEvt->Vertex; VerInCan=SeaEvt->VerInCan; LepInCan=SeaEvt->LepInCan; SWXSec=SeaEvt->SWXSec; WaterXSec=SeaEvt->WaterXSec; WaterIntLen=SeaEvt->WaterIntLen; TargetA=SeaEvt->TargetA; TargetZ=SeaEvt->TargetZ; ScattId=SeaEvt->ScattId; InterId=SeaEvt->InterId; Bx=SeaEvt->Bx; By=SeaEvt->By; XSec=SeaEvt->XSec; DXSec=SeaEvt->DXSec; NTracks=SeaEvt->NTracks; EarthNeutrino=SeaEvt->EarthNeutrino; Neutrino=SeaEvt->Neutrino; PrimaryLepton=SeaEvt->PrimaryLepton; Tracks=SeaEvt->Tracks; GenWeight=SeaEvt->GenWeight; EvtWeight=SeaEvt->EvtWeight; SysWgt=SeaEvt->SysWgt; Agen=SeaEvt->Agen; ColumnDepth=SeaEvt->ColumnDepth; PEarth=SeaEvt->PEarth; XSecMean=SeaEvt->XSecMean; DistaMax=SeaEvt->DistaMax; MJD=SeaEvt->MJD; LST=SeaEvt->LST; EvtTime[0]=SeaEvt->EvtTime[0]; EvtTime[1]=SeaEvt->EvtTime[1]; return; } //___________________________________________________________________________ void GSeaEvent::Translate(double X0, double Y0, double Z0){ Vertex.SetX(Vertex.X()+X0); Vertex.SetY(Vertex.Y()+Y0); Vertex.SetZ(Vertex.Z()+Z0); EarthNeutrino.Translate(X0,Y0,Z0); Neutrino.Translate(X0,Y0,Z0); PrimaryLepton.Translate(X0,Y0,Z0); for(unsigned iTrack=0; iTrack