00001
00002
00003
00004 #include "PhysicsNtuple/FluxInfo.h"
00005
00006 using namespace std;
00007
00008
00009 Anp::FluxInfo::FluxInfo()
00010 :index(-1),
00011 fluxrun(-1),
00012 fluxevtno(-1),
00013 ndecay(-1),
00014 ntype(-1),
00015 ptype(-1),
00016 tptype(-1),
00017 tgen(-1),
00018 ndxdznear(-1.0e6),
00019 ndydznear(-1.0e6),
00020 nenergynear(-1.0e6),
00021 nwtnear(-1.0e6),
00022 ndxdzfar(-1.0e6),
00023 ndydzfar(-1.0e6),
00024 nenergyfar(-1.0e6),
00025 nwtfar(-1.0e6),
00026 vx(-1.0e6),
00027 vy(-1.0e6),
00028 vz(-1.0e6),
00029 pdpx(-1.0e6),
00030 pdpy(-1.0e6),
00031 pdpz(-1.0e6),
00032 ppdxdz(-1.0e6),
00033 ppdydz(-1.0e6),
00034 pppz(-1.0e6),
00035 ppenergy(-1.0e6),
00036 ppvx(-1.0e6),
00037 ppvy(-1.0e6),
00038 ppvz(-1.0e6),
00039 necm(-1.0e6),
00040 nimpwt(-1.0e6),
00041 tvx(-1.0e6),
00042 tvy(-1.0e6),
00043 tvz(-1.0e6),
00044 tpx(-1.0e6),
00045 tpy(-1.0e6),
00046 tpz(-1.0e6)
00047 {
00048 }
00049
00050
00051 Anp::FluxInfo::~FluxInfo()
00052 {
00053 }
00054
00055
00056 void Anp::FluxInfo::Clear()
00057 {
00058 index = -1;
00059 fluxrun = -1;
00060 fluxevtno = -1;
00061 ndecay = -1;
00062 ntype = -1;
00063 ptype = -1;
00064 tptype = -1;
00065 tgen = -1;
00066 ndxdznear = -1.0e6;
00067 ndydznear = -1.0e6;
00068 nenergynear = -1.0e6;
00069 nwtnear = -1.0e6;
00070 ndxdzfar = -1.0e6;
00071 ndydzfar = -1.0e6;
00072 nenergyfar = -1.0e6;
00073 nwtfar = -1.0e6;
00074 vx = -1.0e6;
00075 vy = -1.0e6;
00076 vz = -1.0e6;
00077 pdpx = -1.0e6;
00078 pdpy = -1.0e6;
00079 pdpz = -1.0e6;
00080 ppdxdz = -1.0e6;
00081 ppdydz = -1.0e6;
00082 pppz = -1.0e6;
00083 ppenergy = -1.0e6;
00084 ppvx = -1.0e6;
00085 ppvy = -1.0e6;
00086 ppvz = -1.0e6;
00087 necm = -1.0e6;
00088 nimpwt = -1.0e6;
00089 tvx = -1.0e6;
00090 tvy = -1.0e6;
00091 tvz = -1.0e6;
00092 tpx = -1.0e6;
00093 tpy = -1.0e6;
00094 tpz = -1.0e6;
00095 }
00096
00097
00098 const string Anp::Flux::AsString(const Effect effect)
00099 {
00100 switch (effect)
00101 {
00102 case kNone: return "none";
00103 case kDetw: return "detw";
00104 case kFlux: return "flux";
00105 case kFluxDet: return "fluxdet";
00106 case kFluxSigmaPos: return "flux_sigma_pos";
00107 case kFluxSigmaNeg: return "flux_sigma_neg";
00108 default:
00109 break;
00110 }
00111
00112 return "unknown";
00113 }
00114
00115
00116 Anp::Flux::Effect Anp::Flux::GetEffect(const string &name)
00117 {
00118 if (name == "none") return kNone;
00119 else if(name == "detw") return kDetw;
00120 else if(name == "flux") return kFlux;
00121 else if(name == "fluxdet") return kFluxDet;
00122 else if(name == "flux_sigma_pos") return kFluxSigmaPos;
00123 else if(name == "flux_sigma_neg") return kFluxSigmaNeg;
00124
00125 return kUnknown;
00126 }
00127
00128
00129 bool Anp::Flux::IsDetector(const Effect effect)
00130 {
00131 if(effect == kDetw || effect == kFluxDet)
00132 {
00133 return true;
00134 }
00135
00136 return false;
00137 }