ROOT logo
#include "hparticlemdc.h"
#include "hmdcseg.h"
#include "hmdctrkcand.h"


// ROOT's IO and RTTI stuff is added here
ClassImp(HParticleMdc)

//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////////
//
//
// HParticleMdc
//
// helper object keeping additional information for investigation.
// The object is stored in the same order as the HParticleCand objects
////////////////////////////////////////////////////////////////////////////////

HParticleMdc::HParticleMdc() :
    fIndex(0),
    fMdcFlag(0),
    fMdc1x(0),
    fMdc1y(0),
    fMdc2x(0),
    fMdc2y(0),
    fMdc3x(0),
    fMdc3y(0),
    fMdc4x(0),
    fMdc4y(0),
    dedxInner(-1),
    dedxSigmaInner(-1),
    dedxOuter(-1),
    dedxSigmaOuter(-1),
    dedxCombined(-1),
    dedxSigmaCombined(-1),
    dedxNWireCutCombined(0),
    dedxNWireCutInner(0),
    dedxNWireCutOuter(0)
{

    for(Int_t i=0;i<4;i++){
	dedx        [i] = -1;
	dedxSigma   [i] = -1;
	dedxNWire   [i] =  0;
	dedxNWireCut[i] =  0;
    }

}

HParticleMdc::~HParticleMdc()
{


}

Int_t   HParticleMdc::getNRemovedCellsInnerSeg()
{
    // returns the number of wires remove by the fit
    // for innner segment
     return getNCellsClus() - (dedxNWire[0]+dedxNWire[1]);
}


Float_t HParticleMdc::getdedxSeg(Int_t seg)
{
    // returns dedx in
    // combined segment (seg==2)
    // inner seg (seg==0)
    // outer seg (seg==1)
    if(seg==0)     { return dedxInner;}
    else if(seg==1){ return dedxOuter;}
    else if(seg==2){ return dedxCombined;}
    else {return -1;}
}

Float_t HParticleMdc::getSigmadedxSeg(Int_t seg)
{
    // returns sigma dedx in
    // combined segment (seg==2)
    // inner seg (seg==0)
    // outer seg (seg==1)
    if(seg==0)     {return dedxSigmaInner;}
    else if(seg==1){return dedxSigmaOuter;}
    else if(seg==2){return dedxSigmaCombined;}
    else {return -1;}
}

UChar_t HParticleMdc::getNWireCutdedxSeg(Int_t seg)
{
    // returns the number of removed wires in
    // combined segment (seg==2)
    // inner seg (seg==0)
    // outer seg (seg==1)
    if(seg==0)     { return dedxNWireCutInner;}
    else if(seg==1){ return dedxNWireCutOuter;}
    else if(seg==2){ return dedxNWireCutCombined;}
    else {return 0;}
}

void HParticleMdc::fill(HMdcSeg* seg)
{
    // fills all need vairables from HMdcSeg
    // depending if it is inner or outer segment

    if(!seg) return;

    if(seg->getIOSeg() == 0)
    {
	fMdcFlag = seg->getFlag();
	fMdc1x   = seg->getX1Sh();
	fMdc1y   = seg->getY1Sh();
	fMdc2x   = seg->getX2Sh();
	fMdc2y   = seg->getY2Sh();

    } else {
	fMdc3x   = seg->getX1Sh();
	fMdc3y   = seg->getY1Sh();
	fMdc4x   = seg->getX2Sh();
	fMdc4y   = seg->getY2Sh();
    }

}
void HParticleMdc::fill(HMdcTrkCand* trk)
{
    // fills all need variables from HMdcTrkCand
    if(!trk) return;

    dedxInner            = trk->getdedxInnerSeg();
    dedxSigmaInner       = trk->getSigmadedxInnerSeg();
    dedxNWireCutInner    = trk->getNWireCutdedxInnerSeg();
    dedxOuter            = trk->getdedxOuterSeg();
    dedxSigmaOuter       = trk->getSigmadedxOuterSeg();
    dedxNWireCutOuter    = trk->getNWireCutdedxOuterSeg();
    dedxCombined         = trk->getdedxCombinedSeg();
    dedxSigmaCombined    = trk->getSigmadedxCombinedSeg();
    dedxNWireCutCombined = trk->getNWireCutdedxCombinedSeg();

    for(Int_t i=0;i<4;i++){
	dedx        [i] = trk->getdedx(i);
	dedxSigma   [i] = trk->getSigmadedx(i);
	dedxNWire   [i] = trk->getNWirededx(i);
	dedxNWireCut[i] = trk->getNWireCutdedx(i);
    }

}
 hparticlemdc.cc:1
 hparticlemdc.cc:2
 hparticlemdc.cc:3
 hparticlemdc.cc:4
 hparticlemdc.cc:5
 hparticlemdc.cc:6
 hparticlemdc.cc:7
 hparticlemdc.cc:8
 hparticlemdc.cc:9
 hparticlemdc.cc:10
 hparticlemdc.cc:11
 hparticlemdc.cc:12
 hparticlemdc.cc:13
 hparticlemdc.cc:14
 hparticlemdc.cc:15
 hparticlemdc.cc:16
 hparticlemdc.cc:17
 hparticlemdc.cc:18
 hparticlemdc.cc:19
 hparticlemdc.cc:20
 hparticlemdc.cc:21
 hparticlemdc.cc:22
 hparticlemdc.cc:23
 hparticlemdc.cc:24
 hparticlemdc.cc:25
 hparticlemdc.cc:26
 hparticlemdc.cc:27
 hparticlemdc.cc:28
 hparticlemdc.cc:29
 hparticlemdc.cc:30
 hparticlemdc.cc:31
 hparticlemdc.cc:32
 hparticlemdc.cc:33
 hparticlemdc.cc:34
 hparticlemdc.cc:35
 hparticlemdc.cc:36
 hparticlemdc.cc:37
 hparticlemdc.cc:38
 hparticlemdc.cc:39
 hparticlemdc.cc:40
 hparticlemdc.cc:41
 hparticlemdc.cc:42
 hparticlemdc.cc:43
 hparticlemdc.cc:44
 hparticlemdc.cc:45
 hparticlemdc.cc:46
 hparticlemdc.cc:47
 hparticlemdc.cc:48
 hparticlemdc.cc:49
 hparticlemdc.cc:50
 hparticlemdc.cc:51
 hparticlemdc.cc:52
 hparticlemdc.cc:53
 hparticlemdc.cc:54
 hparticlemdc.cc:55
 hparticlemdc.cc:56
 hparticlemdc.cc:57
 hparticlemdc.cc:58
 hparticlemdc.cc:59
 hparticlemdc.cc:60
 hparticlemdc.cc:61
 hparticlemdc.cc:62
 hparticlemdc.cc:63
 hparticlemdc.cc:64
 hparticlemdc.cc:65
 hparticlemdc.cc:66
 hparticlemdc.cc:67
 hparticlemdc.cc:68
 hparticlemdc.cc:69
 hparticlemdc.cc:70
 hparticlemdc.cc:71
 hparticlemdc.cc:72
 hparticlemdc.cc:73
 hparticlemdc.cc:74
 hparticlemdc.cc:75
 hparticlemdc.cc:76
 hparticlemdc.cc:77
 hparticlemdc.cc:78
 hparticlemdc.cc:79
 hparticlemdc.cc:80
 hparticlemdc.cc:81
 hparticlemdc.cc:82
 hparticlemdc.cc:83
 hparticlemdc.cc:84
 hparticlemdc.cc:85
 hparticlemdc.cc:86
 hparticlemdc.cc:87
 hparticlemdc.cc:88
 hparticlemdc.cc:89
 hparticlemdc.cc:90
 hparticlemdc.cc:91
 hparticlemdc.cc:92
 hparticlemdc.cc:93
 hparticlemdc.cc:94
 hparticlemdc.cc:95
 hparticlemdc.cc:96
 hparticlemdc.cc:97
 hparticlemdc.cc:98
 hparticlemdc.cc:99
 hparticlemdc.cc:100
 hparticlemdc.cc:101
 hparticlemdc.cc:102
 hparticlemdc.cc:103
 hparticlemdc.cc:104
 hparticlemdc.cc:105
 hparticlemdc.cc:106
 hparticlemdc.cc:107
 hparticlemdc.cc:108
 hparticlemdc.cc:109
 hparticlemdc.cc:110
 hparticlemdc.cc:111
 hparticlemdc.cc:112
 hparticlemdc.cc:113
 hparticlemdc.cc:114
 hparticlemdc.cc:115
 hparticlemdc.cc:116
 hparticlemdc.cc:117
 hparticlemdc.cc:118
 hparticlemdc.cc:119
 hparticlemdc.cc:120
 hparticlemdc.cc:121
 hparticlemdc.cc:122
 hparticlemdc.cc:123
 hparticlemdc.cc:124
 hparticlemdc.cc:125
 hparticlemdc.cc:126
 hparticlemdc.cc:127
 hparticlemdc.cc:128
 hparticlemdc.cc:129
 hparticlemdc.cc:130
 hparticlemdc.cc:131
 hparticlemdc.cc:132
 hparticlemdc.cc:133
 hparticlemdc.cc:134
 hparticlemdc.cc:135
 hparticlemdc.cc:136
 hparticlemdc.cc:137
 hparticlemdc.cc:138
 hparticlemdc.cc:139
 hparticlemdc.cc:140
 hparticlemdc.cc:141
 hparticlemdc.cc:142
 hparticlemdc.cc:143
 hparticlemdc.cc:144
 hparticlemdc.cc:145