Skip to content
Snippets Groups Projects
Select Git revision
  • e786cf8c7923f01c982dbf70da79c40fa5e7c405
  • master default protected
  • 11-helicity-logging-levels
  • develop
  • v1.3-dev
  • features/online
  • v1.4.0
  • v1.3.1
  • v1.3.0
  • v2.0.0_dev
  • v1.2.0
  • v1.1.9
  • v1.1.8
  • v1.1.7
  • v1.1.6
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.0
  • v1.1.1
  • v1.0.0
  • v0.96
  • v0.95
  • hcana_podd_1.5.28
  • HitMaps
26 results

THcRawDCHit.cxx

Blame
  • user avatar
    Jure Bericic authored
    Applied changes in several files to reflect this.
    Minor fix in `THcRawHodoHit`.
    84cde83a
    History
    THcRawDCHit.cxx 2.27 KiB
    /** \class  THcRawDCHit
        \ingroup DetSupport
    
     Class representing for drift chamber wire (or other device with
       a single multihit TDC channel per detector element
    
    */
    
    #include "THcRawDCHit.h"
    #include <stdexcept>
    
    
    THcRawDCHit::THcRawDCHit(Int_t plane, Int_t counter) :
      THcRawHit(plane, counter), fTdcHit()
    {}
    
    
    THcRawDCHit& THcRawDCHit::operator=(const THcRawDCHit& right) {
      THcRawHit::operator=(right);
    
      if (this != &right) {
        fTdcHit = right.fTdcHit;
      }
    
      return *this;
    }
    
    
    THcRawDCHit::~THcRawDCHit() {}
    
    
    void THcRawDCHit::Clear(Option_t* opt) {
      THcRawHit::Clear(opt);
    
      fTdcHit.Clear();
    }
    
    
    void THcRawDCHit::SetData(Int_t signal, Int_t data) {
      if (signal == 0) {
        fTdcHit.SetTime(data);
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::SetData`: only signal `0` available!"
        );
      }
    }
    
    
    void THcRawDCHit::SetReference(Int_t signal, Int_t reference) {
      if (signal == 0) {
        fTdcHit.SetRefTime(reference);
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::SetReference`: only signal `0` available!"
        );
      }
    }
    
    
    Int_t THcRawDCHit::GetData(Int_t signal) {
      if (signal == 0) {
        return fTdcHit.GetTime();
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::GetData`: only signal `0` available!"
        );
      }
    }
    
    
    Int_t THcRawDCHit::GetRawData(Int_t signal) {
      if (signal == 0) {
        return fTdcHit.GetTimeRaw();
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::GetRawData`: only signal `0` available!"
        );
      }
    }
    
    
    Int_t THcRawDCHit::GetReference(Int_t signal) {
      if (signal == 0) {
        return fTdcHit.GetRefTime();
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::GetReference`: only signal `0` available!"
        );
      }
    }
    
    
    THcRawHit::ESignalType THcRawDCHit::GetSignalType(Int_t signal) {
      if (signal == 0) {
        return kTDC;
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::GetReference`: only signal `0` available!"
        );
      }
    }
    
    
    Int_t THcRawDCHit::GetNSignals() {
      return fNTdcSignals;
    }
    
    
    Bool_t THcRawDCHit::HasReference(Int_t signal) {
      if (signal == 0) {
        return fTdcHit.HasRefTime();
      }
      else {
        throw std::out_of_range(
          "`THcRawDCHit::HasReference`: only signal `0` available!"
        );
      }
    }
    
    
    THcRawTdcHit& THcRawDCHit::GetRawTdcHit() {
      return fTdcHit;
    }
    
    
    ClassImp(THcRawDCHit)