/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/core/include/RAT/Trajectory.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/core/include/RAT/Trajectory.hh Source File
Ratpac-two
Trajectory.hh
1 #ifndef __RAT_Trajectory__
2 #define __RAT_Trajectory__
3 
4 #include <G4Trajectory.hh>
5 #include <RAT/DS/MCTrack.hh>
6 #include <string>
7 
8 namespace RAT {
9 
10 class Trajectory : public G4Trajectory {
11  public:
12  Trajectory();
13  Trajectory(const G4Track *aTrack);
14  virtual ~Trajectory();
15 
16  inline void *operator new(size_t);
17  inline void operator delete(void *);
18 
19  virtual void AppendStep(const G4Step *aStep);
20  virtual void MergeTrajectory(G4VTrajectory *secondTrajectory);
21 
22  virtual void FillStep(const G4StepPoint *point, const G4Step *step, DS::MCTrackStep *ratStep, double stepLength,
23  bool isInit);
24  DS::MCTrack *GetTrack() { return ratTrack; };
25 
26  static void SetDoAppendMuonStepSpecial(const bool &_doAppend) { fgDoAppendMuonStepSpecial = _doAppend; };
27  static bool GetDoAppendMuonStepSpecial() { return fgDoAppendMuonStepSpecial; };
28 
29  protected:
30  std::string creatorProcessName;
31  DS::MCTrack *ratTrack;
32  static bool fgDoAppendMuonStepSpecial;
33 };
34 
35 // GEANT4 uses a custom allocator on subclass, so we need to override it here.
36 
37 #if defined G4TRACKING_ALLOC_EXPORT
38 extern G4DLLEXPORT G4Allocator<Trajectory> aTrajectoryAllocator;
39 #else
40 extern G4DLLIMPORT G4Allocator<Trajectory> aTrajectoryAllocator;
41 #endif
42 
43 inline void *Trajectory::operator new(size_t) {
44  void *aTrajectory;
45  aTrajectory = (void *)aTrajectoryAllocator.MallocSingle();
46  return aTrajectory;
47 }
48 
49 inline void Trajectory::operator delete(void *aTrajectory) {
50  aTrajectoryAllocator.FreeSingle((Trajectory *)aTrajectory);
51 }
52 
53 } // namespace RAT
54 
55 #endif
Definition: MCTrackStep.hh:29
Definition: MCTrack.hh:22
Definition: Trajectory.hh:10
Definition: CCCrossSecMessenger.hh:29