-
Stephen A. Wood authored
For the most part this is making sure that the loop variable in a for loop is of the same type as the variable that it is compared against (Often a UInt_t).
Stephen A. Wood authoredFor the most part this is making sure that the loop variable in a for loop is of the same type as the variable that it is compared against (Often a UInt_t).
THcRawDCHit.cxx 2.04 KiB
///////////////////////////////////////////////////////////////////////////////
// //
// THcRawDCHit //
// //
// Class representing for drift chamber wire (or other device with //
// a single multihit TDC channel per detector element //
// //
///////////////////////////////////////////////////////////////////////////////
#include "THcRawDCHit.h"
using namespace std;
void THcRawDCHit::SetData(Int_t signal, Int_t data) {
fTDC[fNHits++] = data;
}
// Return just the first hit
Int_t THcRawDCHit::GetData(Int_t signal) {
if(fNHits>0) {
return(fTDC[0]);
} else {
return(-1);
}
}
// Return a requested hit
Int_t THcRawDCHit::GetData(Int_t signal, UInt_t ihit) {
if(ihit >=0 && ihit< fNHits) {
return(fTDC[ihit]);
} else {
return(-1);
}
}
Int_t THcRawDCHit::Compare(const TObject* obj) const
{
// Compare to sort by plane and counter
// Should we be able to move this into THcRawHit
const THcRawDCHit* hit = dynamic_cast<const THcRawDCHit*>(obj);
if(!hit) return -1;
Int_t p1 = fPlane;
Int_t p2 = hit->fPlane;
if(p1 < p2) return -1;
else if(p1 > p2) return 1;
else {
Int_t c1 = fCounter;
Int_t c2 = hit->fCounter;
if(c1 < c2) return -1;
else if (c1 == c2) return 0;
else return 1;
}
}
//_____________________________________________________________________________
THcRawDCHit& THcRawDCHit::operator=( const THcRawDCHit& rhs )
{
// Assignment operator.
THcRawHit::operator=(rhs);
if ( this != &rhs ) {
fPlane = rhs.fPlane;
fCounter = rhs.fCounter;
fNHits = rhs.fNHits;
for(UInt_t ihit=0;ihit<fNHits;ihit++) {
fTDC[ihit] = rhs.fTDC[ihit];
}
}
return *this;
}
//////////////////////////////////////////////////////////////////////////
ClassImp(THcRawDCHit)