00001 00002 // Class TMarCutMC 00003 // 00004 // Author : F. Cassol Brunner 00005 // Created : 21/10/2002 00006 // Last update: 00007 // by: 00008 // Comment: Class to handle cut on generated particles 00010 #ifndef __TMARCUTMC 00011 #define __TMARCUTMC 00012 00013 #include <TObject.h> 00014 #include <iostream> 00015 #include <fstream> 00016 #include <cstdio> 00017 #include <string> 00018 #include <vector> 00019 #include <list> 00020 #include <TError.h> 00021 00022 00023 using namespace std; 00024 class TMarCutMC 00025 { 00026 private: 00027 bool Valid; 00028 string Variable; 00029 vector<Float_t> CutMin; 00030 vector<Float_t> CutMax; 00031 vector<Double_t> Weight; 00032 Float_t Value; 00033 00034 public: 00035 TMarCutMC(); 00036 string GetVariable() const {return Variable;}; 00037 Float_t GetValue()const {return Value;} ; 00038 00039 vector<Float_t> GetCutMin()const {return CutMin;}; 00040 vector<Float_t> GetCutMax()const {return CutMax;} ; 00041 vector<Double_t> GetWeight()const {return Weight;} ; 00042 00043 bool GetValid()const {return Valid;}; 00044 // bool Evaluate(Float_t value); 00045 Double_t Evaluate(Double_t value); 00046 00047 00048 friend istream& operator>>(istream& in, TMarCutMC& CutMC); 00049 friend ostream& operator<<(ostream& out, TMarCutMC& CutMC); 00050 00051 // TMarCutMC& operator= (const TMarCutMC& other); 00052 00053 00054 }; 00055 00056 class TMarCutMCList 00057 { 00058 00059 public: 00060 00061 list<TMarCutMC> CutList; 00062 friend istream& operator>>(istream& in, TMarCutMCList& CutMCList); 00063 friend ostream& operator<<(ostream& out, TMarCutMCList& CutMCList); 00064 00065 00066 }; 00067 #endif