summaryrefslogtreecommitdiff
path: root/generator/G4chroma.hh
diff options
context:
space:
mode:
authorAnthony LaTorre <tlatorre9@gmail.com>2011-08-16 17:08:11 -0400
committerAnthony LaTorre <tlatorre9@gmail.com>2011-08-16 17:08:11 -0400
commit56ebfae1830cba926fd5fd4054b2dd555cf83ae9 (patch)
tree08cd648e494e524232cd0bf37cc130dd0f993d2c /generator/G4chroma.hh
parent54d7d1efe215337d121813e27cd4909b9a76e912 (diff)
parentc453b941faa31b29ad0ae5b4c755c174e29e686c (diff)
downloadchroma-56ebfae1830cba926fd5fd4054b2dd555cf83ae9.tar.gz
chroma-56ebfae1830cba926fd5fd4054b2dd555cf83ae9.tar.bz2
chroma-56ebfae1830cba926fd5fd4054b2dd555cf83ae9.zip
merge
Diffstat (limited to 'generator/G4chroma.hh')
-rw-r--r--generator/G4chroma.hh49
1 files changed, 49 insertions, 0 deletions
diff --git a/generator/G4chroma.hh b/generator/G4chroma.hh
new file mode 100644
index 0000000..4f085aa
--- /dev/null
+++ b/generator/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