00001
00002
00004 #ifndef __InjCoi__
00005 #define __InjCoi__
00006
00007 #include "Segments.h"
00008 #include "TimeDelay.h"
00009 #include "ReadCoinc.h"
00010 #include "InjRea.h"
00011 #include "TH2.h"
00012
00013 using namespace std;
00014
00015 class InjCoi : public ReadCoinc, public InjRea{
00016
00017 public:
00018
00019 InjCoi(const string aCoincFilePattern, const string aInjFilePattern, Network *aNet, const int aVerbose=0);
00020 virtual ~InjCoi(void);
00021
00022
00023 bool Recover(void);
00024 inline void SetTimeWindow(const double aTimeWindow){ TimeWindow=fabs(aTimeWindow); };
00025 inline void SetFrequencyRatioMax(const double aFrequencyRatioMax){ FrequencyRatioMax=fabs(aFrequencyRatioMax); };
00026
00027
00028 bool SetAmplitudeRange(const double aMin, const double aMax);
00029 bool SetSigmaRange(const double aMin, const double aMax);
00030 bool SetFrequencyRange(const double aMin, const double aMax);
00031 bool SetEccentricityRange(const double aMin, const double aMax);
00032 bool SetPolarizationRange(const double aMin, const double aMax);
00033 bool SetRecoveryType(const int aRecType);
00034
00035 bool Reset(void);
00036 bool SaveOutput(const string outFileName);
00037
00038 protected:
00039
00040 bool status;
00041
00042
00043 vector<int> sel_inj;
00044 vector<int> rec_inj;
00045 vector<int> mis_inj;
00046 vector<int> rec_c;
00047 double TimeWindow;
00048 double FrequencyRatioMax;
00049 int RecType;
00050
00051
00052 double ampMin, ampMax;
00053 double sigmaMin, sigmaMax;
00054 double f0Min, f0Max;
00055 double eccMin, eccMax;
00056 double psiMin, psiMax;
00057
00058
00059 bool MakeMonitors(void);
00060 TH1D* Nsel_amp;
00061 TH1D* Nrec_amp;
00062 TH1D* Nmis_amp;
00063 TH1D* Nsel_freq;
00064 TH1D* Nrec_freq;
00065 TH1D* Nmis_freq;
00066 TH1D* Eff_amp;
00067 TH1D* Eff_freq;
00068 TH1D** time_rec;
00069 TH2D** freq_rec;
00070
00071 ClassDef(InjCoi,0)
00072 };
00073
00074 #endif
00075
00076