QCoProjector.hh
Go to the documentation of this file.00001
00002 #ifndef _Q_COPROJECTER_HH_
00003 #define _Q_COPROJECTER_HH_
00004
00005 #include <vector>
00006 #include <list>
00007 #include <string>
00008 #include <QCoSelector.hh>
00009
00010 class QCoincidence;
00011 class TNtupleD;
00012
00020 class TEventList;
00021 class QCoincidence;
00022
00023
00024 class QCoProjector
00025 {
00026
00027
00028 public:
00029 QCoProjector ();
00030 virtual ~QCoProjector ();
00031
00032
00033 void SetCoincidences (const std::list<QCoincidence>& coincidences, std::string basename = "tree");
00034
00035
00037 const std::list<QCoincidence>& GetCoincidences() const
00038 { return fCoincidences; }
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 int ProjectEventBased (std::string arg, TEventList * evList=0);
00052
00053
00054
00055
00056
00057 void ProjectCoBased (std::string arg);
00058
00059
00060
00061 double * GetV1() {return fV1;}
00062 double * GetV2() {return fV2;}
00063
00064 int GetNEvents() {return fNEvents;}
00065
00066 int GetNCoincidences() {return fNCoincidences;}
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 void DumpCoincidenceList (const char * fileName);
00077
00078
00079
00080 TNtupleD * GetEventBasedCoin() {return fEventBasedCoin;}
00081 TNtupleD * GetCoBasedCoin() {return fCoBasedCoin;}
00082
00083
00084 protected:
00085 std::list<QCoincidence> fCoincidences;
00086 TNtupleD * fEventBasedCoin;
00087 TNtupleD * fCoBasedCoin;
00088 QCoSelector fSelector;
00089
00090 bool fRegenerateEventList;
00091 int fNEvents;
00092 int fNCoincidences;
00093 double * fV1;
00094 double * fV2;
00095
00096
00097
00098 protected:
00099
00100 void CreateArrays();
00101 std::vector<std::string> ScanArg(std::string arg, int &narg);
00102 };
00103
00104 #endif
00105
00106