00001 #ifndef ANP_FLUXINFO_H
00002 #define ANP_FLUXINFO_H
00003
00004
00005
00006
00007
00008
00009
00010 #include <string>
00011
00012
00013 #include "Rtypes.h"
00014
00015 class NtpMCTruth;
00016
00017 namespace Anp
00018 {
00019 namespace Flux
00020 {
00021 enum Effect
00022 {
00023 kUnknown, kNone, kDetw, kFlux, kFluxDet, kFluxSigmaPos, kFluxSigmaNeg
00024 };
00025
00026 const std::string AsString(Effect effect);
00027 Effect GetEffect(const std::string &name);
00028 bool IsDetector(Effect effect);
00029 }
00030
00031 class FluxInfo
00032 {
00033 public:
00034
00035 FluxInfo();
00036 ~FluxInfo();
00037
00038 void Clear();
00039
00040 public:
00041
00042 Int_t index;
00043 Int_t fluxrun;
00044 Int_t fluxevtno;
00045 Int_t ndecay;
00046 Int_t ntype;
00047 Int_t ptype;
00048 Int_t tptype;
00049 Int_t tgen;
00050
00051 Float_t ndxdznear;
00052 Float_t ndydznear;
00053 Float_t nenergynear;
00054 Float_t nwtnear;
00055 Float_t ndxdzfar;
00056 Float_t ndydzfar;
00057 Float_t nenergyfar;
00058 Float_t nwtfar;
00059
00060 Float_t vx;
00061 Float_t vy;
00062 Float_t vz;
00063 Float_t pdpx;
00064 Float_t pdpy;
00065 Float_t pdpz;
00066 Float_t ppdxdz;
00067 Float_t ppdydz;
00068 Float_t pppz;
00069 Float_t ppenergy;
00070 Float_t ppvx;
00071 Float_t ppvy;
00072 Float_t ppvz;
00073 Float_t necm;
00074 Float_t nimpwt;
00075 Float_t tvx;
00076 Float_t tvy;
00077 Float_t tvz;
00078 Float_t tpx;
00079 Float_t tpy;
00080 Float_t tpz;
00081 };
00082 }
00083
00084 #endif