00001 #ifndef MCNU_CC
00002 #define MCNU_CC
00003
00004 #include "mcnu.hh"
00005
00006 namespace larlight {
00007
00008
00009 mcnu::mcnu(DATA::DATA_TYPE type) : data_base(type),
00010 fNu(DATA::MCParticle),
00011 fLepton(DATA::MCParticle)
00012
00013 {
00014 if(_type!=DATA::MCNeutrino) {
00015
00016 Message::send(MSG::ERROR,__FUNCTION__,
00017 Form("Provided data type (%s) not supported! Reset to default.",DATA::DATA_TREE_NAME[_type].c_str()));
00018
00019 _type=DATA::MCNeutrino;
00020 }
00021
00022 clear_data();
00023 }
00024
00025
00026 mcnu::mcnu(mcpart &nu, mcpart &lep,
00027 Int_t CCNC, Int_t mode, Int_t interactionType,
00028 Int_t target, Int_t nucleon, Int_t quark,
00029 Double_t w, Double_t x, Double_t y, Double_t qsqr)
00030 : data_base(DATA::MCNeutrino),
00031 fNu(nu),
00032 fLepton(lep),
00033 fMode(mode),
00034 fInteractionType(interactionType),
00035 fCCNC(CCNC),
00036 fTarget(target),
00037 fHitNuc(nucleon),
00038 fHitQuark(quark),
00039 fW(w),
00040 fX(x),
00041 fY(y),
00042 fQSqr(qsqr)
00043
00044 {}
00045
00046
00047 void mcnu::clear_data()
00048
00049 {
00050 data_base::clear_data();
00051 fNu.clear_data();
00052 fLepton.clear_data();
00053
00054 fMode = DATA::INVALID_INT;
00055 fInteractionType = DATA::INVALID_INT;
00056 fCCNC = DATA::INVALID_INT;
00057 fTarget = DATA::INVALID_INT;
00058 fHitNuc = DATA::INVALID_INT;
00059 fHitQuark = DATA::INVALID_INT;
00060 fW = DATA::INVALID_DOUBLE;
00061 fX = DATA::INVALID_DOUBLE;
00062 fY = DATA::INVALID_DOUBLE;
00063 fQSqr = DATA::INVALID_DOUBLE;
00064 }
00065
00066 }
00067
00068 #endif