Program Listing for File PhotonEleCa.h
↰ Return to documentation for file (include/crpropa/module/PhotonEleCa.h
)
#ifndef CRPROPA_PHOTONELECA_H
#define CRPROPA_PHOTONELECA_H
#include "crpropa/Module.h"
#include "crpropa/magneticField/MagneticField.h"
#include "crpropa/Referenced.h"
#include <memory>
#include <fstream>
// forward declaration
namespace eleca {
class Propagation;
}
namespace crpropa {
class PhotonEleCa: public Module {
private:
std::auto_ptr<eleca::Propagation> propagation;
mutable std::ofstream output;
Vector3d observer;
bool saveOnlyPhotonEnergies;
public:
PhotonEleCa(const std::string background, const std::string &outputFilename);
~PhotonEleCa();
void process(Candidate *candidate) const;
std::string getDescription() const;
void setObserver(const Vector3d &position);
void setSaveOnlyPhotonEnergies(bool photonsOnly);
};
} // namespace crpropa
#endif // CRPROPA_PHOTONELECA_H