RawLITimingSummary Class Reference

#include <RawLITimingSummary.h>

List of all members.

Public Member Functions

 RawLITimingSummary ()
 RawLITimingSummary (const Int_t *&p, const RawCrateStatus *cstat, Int_t minorVersion)
virtual ~RawLITimingSummary ()
RawChannelId GetChannel () const
Short_t GetEntries () const
Int_t GetIntMean () const
Int_t GetIntRms () const
Float_t GetMean () const
Float_t GetRms () const
virtual void Print (Option_t *option="") const
virtual std::ostream & FormatToOStream (std::ostream &os, Option_t *option="") const

Protected Member Functions

void BuildRawChannelId (const RawCrateStatus *cstat, Int_t chadd)

Protected Attributes

const RawCrateStatusfCrateStatus
RawChannelId fRawChannelId
Short_t fEntries
Int_t fIntMean
Int_t fIntRms

Detailed Description

Definition at line 22 of file RawLITimingSummary.h.


Constructor & Destructor Documentation

RawLITimingSummary::RawLITimingSummary (  ) 

Definition at line 27 of file RawLITimingSummary.cxx.

00028    : fCrateStatus(0), fRawChannelId(0), fEntries(-1), fIntMean(-1), fIntRms(-1)
00029 {
00030    // Default constructor
00031 
00032    // MSG("RawData",Msg::kWarning) << "RawLITimingSummary default ctor" << endl;
00033 }

RawLITimingSummary::RawLITimingSummary ( const Int_t *&  p,
const RawCrateStatus cstat,
Int_t  minorVersion 
)

Definition at line 36 of file RawLITimingSummary.cxx.

References BuildRawChannelId(), fEntries, fIntMean, fIntRms, RawBlockId::GetMinor(), RawCrateStatus::GetRawBlockId(), Msg::kWarning, and MAXMSG.

00039    : fCrateStatus(cstat), fRawChannelId(0), fEntries(-1), 
00040      fIntMean(-1), fIntRms(-1)
00041 {
00042    // this is where the everything is actually unpacked
00043 
00044    // version 0,1,2:
00045    // 1st 32-bit word: Chadd (16); no of entries (16)   (v0 U/L swapped)
00046    // 2nd 32-bit word: Mean 
00047    // 3rd 32-bit word: RMS
00048    // Mean and RMS are both scaled by a factor of 4
00049 
00050    const Int_t maskShort = 0xffff;
00051 
00052    switch (minorVersion) {
00053    case 0:
00054    {
00055       // note this version had upper/lower swapped from v1, v2...
00056       Int_t chadd =   p[0]         & maskShort;
00057       BuildRawChannelId(cstat,chadd);
00058 
00059       fEntries   =  ( p[0] >> 16 ) & maskShort;
00060 
00061       fIntMean   =    p[1];
00062       fIntRms    =    p[2];
00063 
00064       // advance pointer by amount it eats up
00065       p += 3;
00066       break;
00067    }
00068    default:
00069    {
00070      MAXMSG("RawData",Msg::kWarning,10)
00071        << "RawLITimingSummary::ctor with minor id "
00072        << cstat->GetRawBlockId().GetMinor()
00073        << " unknown layout" << endl;
00074      // don't break, fall through to latest
00075    }
00076    case 1:
00077    case 2:
00078    case 3:
00079    case 4:
00080    case 5:
00081    {
00082       Int_t chadd = ( p[0] >> 16) & maskShort;
00083       BuildRawChannelId(cstat,chadd);
00084       
00085       fEntries   =    p[0]         & maskShort;
00086 
00087       fIntMean   =    p[1];
00088       fIntRms    =    p[2];
00089 
00090       // advance pointer by amount it eats up
00091       p += 3;
00092       break;
00093    }  
00094    } // end minor version number switch
00095 
00096 }

RawLITimingSummary::~RawLITimingSummary (  )  [virtual]

Definition at line 99 of file RawLITimingSummary.cxx.

00100 {
00101    // delete all owned sub-objects
00102 
00103 }


Member Function Documentation

void RawLITimingSummary::BuildRawChannelId ( const RawCrateStatus cstat,
Int_t  chadd 
) [protected]

Definition at line 184 of file RawLITimingSummary.cxx.

References fRawChannelId, RawCrateStatus::GetCommonMode(), RawCrateStatus::GetCrate(), RawBlockId::GetDetector(), RawCrateStatus::GetElecType(), RawCrateStatus::GetPedMode(), RawCrateStatus::GetRawBlockId(), RawCrateStatus::GetSparsMode(), and RawChannelId::SetModeBits().

Referenced by RawLITimingSummary().

00185 {
00186    Detector::Detector_t detector = 
00187                             cstat->GetRawBlockId().GetDetector();
00188    ElecType::Elec_t etype = cstat->GetElecType();
00189    Bool_t         pedMode = cstat->GetPedMode();
00190    Bool_t       sparsMode = cstat->GetSparsMode();
00191    Bool_t      commonMode = cstat->GetCommonMode();
00192    Int_t            crate = cstat->GetCrate();
00193 
00194    fRawChannelId = RawChannelId(detector,etype,crate,chadd);
00195    fRawChannelId.SetModeBits(commonMode,sparsMode,pedMode);
00196 }

std::ostream & RawLITimingSummary::FormatToOStream ( std::ostream &  os,
Option_t *  option = "" 
) const [virtual]

Definition at line 166 of file RawLITimingSummary.cxx.

References fEntries, fIntMean, fIntRms, fRawChannelId, GetMean(), and GetRms().

Referenced by Print().

00168 {
00169    MsgFormat ffmt("%9.2f");
00170    MsgFormat ifmt("%7d");
00171    
00172    os << " "  << fRawChannelId
00173       << "  " << setw(5)  << fEntries 
00174       << "  " << ffmt(GetMean())
00175       << " (" << ifmt(fIntMean) << ")"
00176       << "  " << ffmt(GetRms())
00177       << " (" << ifmt(fIntRms) << ")"
00178       << endl;
00179 
00180    return os;
00181 }

RawChannelId RawLITimingSummary::GetChannel (  )  const [inline]

Definition at line 31 of file RawLITimingSummary.h.

References fRawChannelId.

Referenced by PulserTimingPoint::AddSummaryBlock(), and RateSummary::Ana().

00031 { return fRawChannelId; }

Short_t RawLITimingSummary::GetEntries (  )  const [inline]

Definition at line 32 of file RawLITimingSummary.h.

References fEntries.

Referenced by PulserTimingPoint::AddSummaryBlock().

00032 { return fEntries; }

Int_t RawLITimingSummary::GetIntMean (  )  const [inline]

Definition at line 33 of file RawLITimingSummary.h.

References fIntMean.

00033 { return fIntMean; }

Int_t RawLITimingSummary::GetIntRms (  )  const [inline]

Definition at line 34 of file RawLITimingSummary.h.

References fIntRms.

00034 { return fIntRms; }

Float_t RawLITimingSummary::GetMean (  )  const

Definition at line 106 of file RawLITimingSummary.cxx.

References fCrateStatus, fIntMean, RawBlockId::GetMinor(), RawCrateStatus::GetRawBlockId(), Msg::kWarning, and MAXMSG.

Referenced by PulserTimingPoint::AddSummaryBlock(), and FormatToOStream().

00107 {
00108    // return unscaled mean
00109    
00110    switch (fCrateStatus->GetRawBlockId().GetMinor()) {
00111    default:
00112      {
00113       MAXMSG("RawData",Msg::kWarning,100)
00114          << "RawLITimingSummary::GetMean() with minor id "
00115          << fCrateStatus->GetRawBlockId().GetMinor()
00116          << " assumes default scale factor" << endl;
00117      }
00118       // don't break, fall through to latest
00119    case 5:
00120      return fIntMean * 0.0625;
00121      break;
00122    case 0:
00123    case 1:
00124    case 2:
00125    case 3:
00126    case 4:
00127       return fIntMean * 0.25;
00128       break;
00129    }
00130 }

Float_t RawLITimingSummary::GetRms (  )  const

Definition at line 133 of file RawLITimingSummary.cxx.

References fCrateStatus, fIntRms, RawBlockId::GetMinor(), RawCrateStatus::GetRawBlockId(), Msg::kWarning, and MAXMSG.

Referenced by PulserTimingPoint::AddSummaryBlock(), and FormatToOStream().

00134 {
00135    // return unscaled RMS
00136    
00137    switch (fCrateStatus->GetRawBlockId().GetMinor()) {
00138    default:
00139      {
00140       MAXMSG("RawData",Msg::kWarning,100)
00141          << "RawLITimingSummary::GetRms() with minor id "
00142          << fCrateStatus->GetRawBlockId().GetMinor()
00143          << " assumes default scale factor" << endl;
00144      }
00145       // don't break, fall through to latest
00146    case 5:
00147      return fIntRms * 0.0625;
00148      break;
00149    case 0:
00150    case 1:
00151    case 2:
00152    case 3:
00153    case 4:
00154       return fIntRms * 0.25;
00155       break;
00156    }
00157 }

void RawLITimingSummary::Print ( Option_t *  option = ""  )  const [virtual]

Definition at line 160 of file RawLITimingSummary.cxx.

References FormatToOStream().

Referenced by RawLITimingSummaryBlock::FillRawTimingSums().

00161 {
00162    FormatToOStream(cout,option);
00163 }


Member Data Documentation

Definition at line 46 of file RawLITimingSummary.h.

Referenced by GetMean(), and GetRms().

Short_t RawLITimingSummary::fEntries [protected]

Definition at line 49 of file RawLITimingSummary.h.

Referenced by FormatToOStream(), GetEntries(), and RawLITimingSummary().

Int_t RawLITimingSummary::fIntMean [protected]

Definition at line 50 of file RawLITimingSummary.h.

Referenced by FormatToOStream(), GetIntMean(), GetMean(), and RawLITimingSummary().

Int_t RawLITimingSummary::fIntRms [protected]

Definition at line 51 of file RawLITimingSummary.h.

Referenced by FormatToOStream(), GetIntRms(), GetRms(), and RawLITimingSummary().

Definition at line 48 of file RawLITimingSummary.h.

Referenced by BuildRawChannelId(), FormatToOStream(), and GetChannel().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1