source: snovis/trunk/source/G4Lab/Trajectory.h@ 289

Last change on this file since 289 was 288, checked in by barrand, 18 years ago
  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1#ifndef G4Lab_Trajectory_h
2#define G4Lab_Trajectory_h
3
4// Inheritance :
5#include <G4Trajectory.hh>
6#include <G4Lab/Interfaces/IGeant4Trajectory.h>
7
8#include <vector>
9
10#include <Lib/Debug.h>
11
12//class G4VProcess;
13
14namespace G4Lab {
15
16class TrajectoryPoint;
17
18class Trajectory
19:public G4Trajectory
20,public virtual IGeant4Trajectory
21{
22public: // G4VTrajectory:
23 virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
24 virtual std::vector<G4AttValue>* CreateAttValues() const;
25public: // G4Trajectory:
26 virtual void ShowTrajectory(std::ostream& = G4cout) const;
27 virtual void DrawTrajectory(G4int =0) const;
28 virtual void AppendStep(const G4Step*);
29 virtual int GetPointEntries() const;
30 virtual G4VTrajectoryPoint* GetPoint(G4int) const;
31 virtual void MergeTrajectory(G4VTrajectory*);
32public: // IGeant4Trajectory:
33 virtual double kineticEnergy() const;
34 virtual double totalEnergy() const;
35 virtual double globalTime() const;
36 virtual unsigned int pointEntries() const;
37 virtual double pointGlobalTime(unsigned int) const;
38 virtual std::string creatorProcessName() const;
39 virtual std::string creatorProcessType() const;
40 virtual void setSave(bool);
41 virtual bool save() const;
42 virtual std::vector<double> stoppingPoint() const;
43 virtual G4VPhysicalVolume* stoppingPhysicalVolume() const;
44public:
45 Trajectory(const G4Track*);
46 Trajectory(Trajectory&);
47 virtual ~Trajectory();
48 void* operator new(size_t);
49 void operator delete(void*);
50 int operator == (const Trajectory&) const;
51private:
52 std::vector<TrajectoryPoint*> fPoints;
53 G4double fKineticEnergy;
54 G4double fTotalEnergy;
55 G4double fGlobalTime;
56 const G4VProcess* fProcess;
57 bool fSave;
58 G4ThreeVector fStoppingPoint;
59 G4VPhysicalVolume* fStoppingVolume;
60 Lib::Debug fDebug;
61};
62
63}
64
65#endif
66
Note: See TracBrowser for help on using the repository browser.