45 #ifndef G4TRACKSTATE_HH_
46 #define G4TRACKSTATE_HH_
88 virtual int GetID() = 0;
155 std::map<void*, G4VTrackStateHandle>::const_iterator
it =
167 std::map<void*, G4VTrackStateHandle>::const_iterator
it =
184 std::map<int, G4VTrackStateHandle>::const_iterator
it =
210 #define G4TrackStateHandle(T) G4shared_ptr<G4TrackState<T> >
212 template<
class OriginalType>
213 G4shared_ptr<G4VTrackState>
217 G4shared_ptr<G4VTrackState> output =
222 template<
class FinalType>
223 G4shared_ptr<G4TrackState<FinalType> >
227 G4shared_ptr<G4TrackState<FinalType> > output =
251 G4VTrackStateHandle output =
259 G4VTrackStateHandle output =
272 ConvertToConcreteTrackState<ClassType>(manager.
GetTrackState(
this));
310 #if __cplusplus > 199711L
311 #define RegisterTrackState(CLASS,STATE) \
313 class G4TrackState<CLASS> : public G4TrackStateBase<CLASS>, \
314 public CLASS::STATE \
316 friend class G4TrackStateDependent<CLASS>; \
317 using CLASS::STATE::STATE; \
319 typedef CLASS::STATE State; \
320 G4TrackState() : G4TrackStateBase<CLASS>(), CLASS::STATE(){}\
321 virtual ~G4TrackState(){}\
324 return G4TrackStateID<CLASS>::GetID();\
328 return G4TrackStateID<CLASS>::GetID();\
333 #define RegisterTrackState(CLASS,STATE) \
335 class G4TrackState<CLASS> : public G4TrackStateBase<CLASS>, \
336 public CLASS::STATE \
338 friend class G4TrackStateDependent<CLASS>; \
340 typedef CLASS::STATE State; \
341 G4TrackState() : G4TrackStateBase<CLASS>(), CLASS::STATE(){}\
342 virtual ~G4TrackState(){}\
345 return G4TrackStateID<CLASS>::GetID();\
349 return G4TrackStateID<CLASS>::GetID();\