43 secondaryInCurrentStep =
new std::vector<const G4Track*>;
49 delete fpPreStepPoint;
50 delete fpPostStepPoint;
52 secondaryInCurrentStep->clear();
53 delete secondaryInCurrentStep;
55 if(fSecondary !=
nullptr)
64 : fTotalEnergyDeposit(right.fTotalEnergyDeposit)
65 , fNonIonizingEnergyDeposit(right.fNonIonizingEnergyDeposit)
66 , fStepLength(right.fStepLength)
67 , fpTrack(right.fpTrack)
68 , fpSteppingControlFlag(right.fpSteppingControlFlag)
69 , fFirstStepInVolume(right.fFirstStepInVolume)
70 , fLastStepInVolume(right.fLastStepInVolume)
71 , nSecondaryByLastStep(right.nSecondaryByLastStep)
72 , secondaryInCurrentStep(right.secondaryInCurrentStep)
73 , fpVectorOfAuxiliaryPointsPointer(right.fpVectorOfAuxiliaryPointsPointer)
75 if(right.fpPreStepPoint !=
nullptr)
77 fpPreStepPoint =
new G4StepPoint(*(right.fpPreStepPoint));
83 if(right.fpPostStepPoint !=
nullptr)
85 fpPostStepPoint =
new G4StepPoint(*(right.fpPostStepPoint));
92 if(right.fSecondary !=
nullptr)
102 secondaryInCurrentStep =
new std::vector<const G4Track*>;
112 fStepLength = right.fStepLength;
113 fpTrack = right.fpTrack;
114 fpSteppingControlFlag = right.fpSteppingControlFlag;
115 fFirstStepInVolume = right.fFirstStepInVolume;
116 fLastStepInVolume = right.fLastStepInVolume;
117 nSecondaryByLastStep = right.nSecondaryByLastStep;
118 secondaryInCurrentStep = right.secondaryInCurrentStep;
119 fpVectorOfAuxiliaryPointsPointer = right.fpVectorOfAuxiliaryPointsPointer;
121 delete fpPreStepPoint;
123 if(right.fpPreStepPoint !=
nullptr)
125 fpPreStepPoint =
new G4StepPoint(*(right.fpPreStepPoint));
132 delete fpPostStepPoint;
134 if(right.fpPostStepPoint !=
nullptr)
136 fpPostStepPoint =
new G4StepPoint(*(right.fpPostStepPoint));
143 if(fSecondary !=
nullptr)
148 if(right.fSecondary !=
nullptr)
158 if(secondaryInCurrentStep !=
nullptr)
160 secondaryInCurrentStep->clear();
161 delete secondaryInCurrentStep;
163 secondaryInCurrentStep =
new std::vector<const G4Track*>;
177 "This method is obsolete and will be removed soon");
193 "This method is obsolete and will be removed soon");
204 secondaryInCurrentStep->clear();
205 std::size_t nSecondary = fSecondary->size();
206 for(std::size_t i = nSecondaryByLastStep; i < nSecondary; ++i)
208 secondaryInCurrentStep->push_back((*fSecondary)[i]);
210 return secondaryInCurrentStep;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::vector< G4Track * > G4TrackVector
G4ThreeVector GetMomentum() const
G4double GetKineticEnergy() const
G4double GetDeltaEnergy() const
G4ThreeVector GetDeltaMomentum() const
G4Step & operator=(const G4Step &)
const std::vector< const G4Track * > * GetSecondaryInCurrentStep() const
G4double fNonIonizingEnergyDeposit
G4double fTotalEnergyDeposit