Program Listing for File BreakCondition.h
↰ Return to documentation for file (include/crpropa/module/BreakCondition.h
)
#ifndef CRPROPA_BREAKCONDITION_H
#define CRPROPA_BREAKCONDITION_H
#include "crpropa/Module.h"
namespace crpropa {
class MaximumTrajectoryLength: public AbstractCondition {
double maxLength;
std::vector<Vector3d> observerPositions;
public:
MaximumTrajectoryLength(double length = 0);
void setMaximumTrajectoryLength(double length);
double getMaximumTrajectoryLength() const;
void addObserverPosition(const Vector3d &position);
const std::vector<Vector3d>& getObserverPositions() const;
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class MinimumEnergy: public AbstractCondition {
double minEnergy;
public:
MinimumEnergy(double minEnergy = 0);
void setMinimumEnergy(double energy);
double getMinimumEnergy() const;
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class MinimumRigidity: public AbstractCondition {
double minRigidity;
public:
MinimumRigidity(double minRigidity = 0);
void setMinimumRigidity(double minRigidity);
double getMinimumRigidity() const;
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class MinimumRedshift: public AbstractCondition {
double zmin;
public:
MinimumRedshift(double zmin = 0);
void setMinimumRedshift(double z);
double getMinimumRedshift();
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class MinimumChargeNumber: public AbstractCondition {
int minChargeNumber;
public:
MinimumChargeNumber(int minChargeNumber = 0);
void setMinimumChargeNumber(int chargeNumber);
int getMinimumChargeNumber() const;
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class MinimumEnergyPerParticleId: public AbstractCondition {
std::vector<double> minEnergies;
std::vector<int> particleIds;
double minEnergyOthers;
public:
MinimumEnergyPerParticleId(double minEnergyOthers = 0);
void setMinimumEnergyOthers(double energy);
double getMinimumEnergyOthers() const;
void add(int id, double energy);
std::string getDescription() const;
void process(Candidate *candidate) const;
};
class DetectionLength: public AbstractCondition {
double detLength;
public:
DetectionLength(double length = 0);
void setDetectionLength(double length);
double getDetectionLength() const;
std::string getDescription() const;
void process(Candidate *candidate) const;
};
} // namespace crpropa
#endif // CRPROPA_BREAKCONDITION_H