00001
00015 #ifndef MCNU_HH
00016 #define MCNU_HH
00017
00018 #include "mcpart.hh"
00019
00020 namespace larlight {
00025 class mcnu : public data_base {
00026
00027 public:
00028
00030 mcnu(DATA::DATA_TYPE type=DATA::MCNeutrino);
00031
00033 mcnu(mcpart &nu,
00034 mcpart &lep,
00035 Int_t CCNC,
00036 Int_t mode,
00037 Int_t interactionType,
00038 Int_t target,
00039 Int_t nucleon,
00040 Int_t quark,
00041 Double_t w,
00042 Double_t x,
00043 Double_t y,
00044 Double_t qsqr);
00045
00047 virtual ~mcnu(){}
00048
00050 mcnu(const mcnu& origin) : data_base(origin),
00051 fNu(origin.fNu),
00052 fLepton(origin.fLepton),
00053 fMode(origin.fMode),
00054 fInteractionType(origin.fInteractionType),
00055 fCCNC(origin.fCCNC),
00056 fTarget(origin.fTarget),
00057 fHitNuc(origin.fHitNuc),
00058 fHitQuark(origin.fHitQuark),
00059 fW(origin.fW),
00060 fX(origin.fX),
00061 fY(origin.fY),
00062 fQSqr(origin.fQSqr)
00063 {}
00064
00066 virtual void clear_data();
00067
00069 inline const mcpart& Nu() const { return fNu; }
00070 inline const mcpart& Lepton() const { return fLepton; }
00071 inline Int_t CCNC() const { return fCCNC; }
00072 inline Int_t Mode() const { return fMode; }
00073 inline Int_t InteractionType() const { return fInteractionType; }
00074 inline Int_t Target() const { return fTarget; }
00075 inline Int_t HitNuc() const { return fHitNuc; }
00076 inline Int_t HitQuark() const { return fHitQuark; }
00077 inline Double_t W() const { return fW; }
00078 inline Double_t X() const { return fX; }
00079 inline Double_t Y() const { return fY; }
00080 inline Double_t QSqr() const { return fQSqr; }
00081
00082 private:
00083
00084 mcpart fNu;
00085 mcpart fLepton;
00086 Int_t fMode;
00087 Int_t fInteractionType;
00088 Int_t fCCNC;
00089 Int_t fTarget;
00090 Int_t fHitNuc;
00091 Int_t fHitQuark;
00092 Double_t fW;
00093 Double_t fX;
00094 Double_t fY;
00095 Double_t fQSqr;
00096
00098 ClassDef(mcnu,1)
00100
00101 };
00102
00103 }
00104 #endif
00105