summaryrefslogtreecommitdiff
path: root/src/G4chroma.hh
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-09-16 15:04:26 -0400
committerStan Seibert <stan@mtrr.org>2011-09-16 15:04:26 -0400
commit76889ed8865b9c309b7c5f3c14a5b8e8a520cf00 (patch)
tree2acdbd07cd11c012f62075c4971cfbf6d09dfc5e /src/G4chroma.hh
parent142b3c3caff164deb9bc7b2848e58e52387723ff (diff)
downloadchroma-76889ed8865b9c309b7c5f3c14a5b8e8a520cf00.tar.gz
chroma-76889ed8865b9c309b7c5f3c14a5b8e8a520cf00.tar.bz2
chroma-76889ed8865b9c309b7c5f3c14a5b8e8a520cf00.zip
Move C++ source to src directory
Diffstat (limited to 'src/G4chroma.hh')
-rw-r--r--src/G4chroma.hh49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/G4chroma.hh b/src/G4chroma.hh
new file mode 100644
index 0000000..4f085aa
--- /dev/null
+++ b/src/G4chroma.hh
@@ -0,0 +1,49 @@
+#ifndef __G4chroma_hh__
+#define __G4chroma_hh__
+
+#include <geant4/G4VModularPhysicsList.hh>
+class ChromaPhysicsList: public G4VModularPhysicsList
+{
+public:
+ ChromaPhysicsList();
+ virtual ~ChromaPhysicsList();
+ virtual void SetCuts();
+};
+
+#include <geant4/G4UserTrackingAction.hh>
+#include <vector>
+#include <geant4/G4ThreeVector.hh>
+
+class PhotonTrackingAction : public G4UserTrackingAction
+{
+public:
+ PhotonTrackingAction();
+ virtual ~PhotonTrackingAction();
+
+ int GetNumPhotons() const;
+ void Clear();
+
+ void GetX(double *x) const;
+ void GetY(double *y) const;
+ void GetZ(double *z) const;
+ void GetDirX(double *dir_x) const;
+ void GetDirY(double *dir_y) const;
+ void GetDirZ(double *dir_z) const;
+ void GetPolX(double *pol_x) const;
+ void GetPolY(double *pol_y) const;
+ void GetPolZ(double *pol_z) const;
+
+ void GetWavelength(double *wl) const;
+ void GetT0(double *t) const;
+
+ virtual void PreUserTrackingAction(const G4Track *);
+
+protected:
+ std::vector<G4ThreeVector> pos;
+ std::vector<G4ThreeVector> dir;
+ std::vector<G4ThreeVector> pol;
+ std::vector<double> wavelength;
+ std::vector<double> t0;
+};
+
+#endif