Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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


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(), 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.

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

00031 { return fRawChannelId; }

Short_t RawLITimingSummary::GetEntries  )  const [inline]
 

Definition at line 32 of file RawLITimingSummary.h.

Referenced by PulserTimingPoint::AddSummaryBlock().

00032 { return fEntries; }

Int_t RawLITimingSummary::GetIntMean  )  const [inline]
 

Definition at line 33 of file RawLITimingSummary.h.

00033 { return fIntMean; }

Int_t RawLITimingSummary::GetIntRms  )  const [inline]
 

Definition at line 34 of file RawLITimingSummary.h.

00034 { return fIntRms; }

Float_t RawLITimingSummary::GetMean  )  const
 

Definition at line 106 of file RawLITimingSummary.cxx.

References fCrateStatus, fIntMean, RawBlockId::GetMinor(), RawCrateStatus::GetRawBlockId(), 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(), 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(), and option.

Referenced by RawLITimingSummaryBlock::FillRawTimingSums().

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


Member Data Documentation

const RawCrateStatus* RawLITimingSummary::fCrateStatus [protected]
 

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(), and RawLITimingSummary().

Int_t RawLITimingSummary::fIntMean [protected]
 

Definition at line 50 of file RawLITimingSummary.h.

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

Int_t RawLITimingSummary::fIntRms [protected]
 

Definition at line 51 of file RawLITimingSummary.h.

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

RawChannelId RawLITimingSummary::fRawChannelId [protected]
 

Definition at line 48 of file RawLITimingSummary.h.

Referenced by BuildRawChannelId(), and FormatToOStream().


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 05:32:51 2009 for loon by  doxygen 1.3.9.1