summaryrefslogtreecommitdiff
path: root/G4chroma.hh
diff options
context:
space:
mode:
authorAnthony LaTorre <tlatorre9@gmail.com>2011-08-03 14:33:39 -0400
committerAnthony LaTorre <tlatorre9@gmail.com>2011-08-03 14:33:39 -0400
commit4e1047698bad5a600dd6a2aaa825667fc3617b07 (patch)
tree0fe658ce1f3fd2ef272997d800757056cfd18291 /G4chroma.hh
parent4bf95f452e3275c12026b16b51dc646846598f19 (diff)
parent91bf7a2e2371a321b3bd402810cfe3b2774e2777 (diff)
downloadchroma-4e1047698bad5a600dd6a2aaa825667fc3617b07.tar.gz
chroma-4e1047698bad5a600dd6a2aaa825667fc3617b07.tar.bz2
chroma-4e1047698bad5a600dd6a2aaa825667fc3617b07.zip
merge heads
Diffstat (limited to 'G4chroma.hh')
-rw-r--r--G4chroma.hh49
1 files changed, 49 insertions, 0 deletions
diff --git a/G4chroma.hh b/G4chroma.hh
new file mode 100644
index 0000000..4f085aa
--- /dev/null
+++ b/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