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

Last change on this file since 288 was 288, checked in by barrand, 17 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.