// $Id: hpidevtinfo.cc,v 1.5 2008-12-11 13:14:03 jurkovic Exp $
//
//_HADES_CLASS_DESCRIPTION 
/////////////////////////////////////////////////////////////////////////////
//                                                                      
// HPidEvtInfo                                                          
//                                                                     
// A container keeping characteristic information about event                        
// (detector hit multiplicity, particle track multiplicity,          
//  reaction plane)                                                 
//                                                                 
// Author : Jacek Otwinowski 18/06/2007                        
// Revised by Simon Lang, 22/06/2007
//
////////////////////////////////////////////////////////////////////////////

#pragma implementation

#include "hpidevtinfo.h"

// ----------------------------------------------------------------------------

ClassImp(HPidEvtInfo)
  
// ----------------------------------------------------------------------------
HPidEvtInfo::HPidEvtInfo(void)
{
   // Default HPidEvtInfo constructor

   clearMembers();
}

// ----------------------------------------------------------------------------
void HPidEvtInfo::clearMembers(void)
{
   // Just set all member variables to 0.

   for (Int_t s = 0; s < MAX_SECTOR; ++s)
   {
      aRichMult[s]         = 0;
      aRichCorrMult[s]     = 0;
      aRichClusMult[s]     = 0;
      aTofMult[s]          = 0;
      aTofinoMult[s]       = 0;
      aShowerMult[s]       = 0;
      aPidTrackCandMult[s] = 0;
      aSelectedPidTrackCandMult[s] = 0;

      for (Int_t io = 0; io < MAX_IOSEG; ++io)  
      {
	 aMdcClusMult[s][io]        = 0;
	 aMdcSegFittedMult[s][io]   = 0;
	 aMdcSegUnfittedMult[s][io] = 0;
      }
   }

   nFWallMult   = 0;
   fFWallVector = 0.0;    
   fRPlanePhi   = 0.0;
}

// ----------------------------------------------------------------------------
void HPidEvtInfo::Streamer(TBuffer &R__b)
{
   // Stream an object of class HPidEvtInfo.

   UInt_t R__s, R__c;
   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
      TObject::Streamer(R__b);
      R__b.ReadStaticArray((Int_t*)aRichMult);
      if(R__v > 2)
      {
          R__b.ReadStaticArray((Int_t*)aRichCorrMult);
          R__b.ReadStaticArray((Int_t*)aRichClusMult);
      }
      R__b.ReadStaticArray((Int_t*)aMdcClusMult);
      R__b.ReadStaticArray((Int_t*)aMdcSegFittedMult);
      R__b.ReadStaticArray((Int_t*)aMdcSegUnfittedMult);
      R__b.ReadStaticArray((Int_t*)aTofMult);
      R__b.ReadStaticArray((Int_t*)aShowerMult);
      R__b.ReadStaticArray((Int_t*)aPidTrackCandMult);
      if(R__v > 1)
      {
	  R__b.ReadStaticArray((Int_t*)aTofinoMult);
	  R__b.ReadStaticArray((Int_t*)aSelectedPidTrackCandMult);
      }
      R__b >> nFWallMult;
      R__b >> fFWallVector;
      R__b >> fRPlanePhi;
      R__b.CheckByteCount(R__s, R__c, HPidEvtInfo::IsA());
   } else {
      R__c = R__b.WriteVersion(HPidEvtInfo::IsA(), kTRUE);
      TObject::Streamer(R__b);
      R__b.WriteArray(aRichMult, 6);
      R__b.WriteArray(aRichCorrMult, 6);
      R__b.WriteArray(aRichClusMult, 6);
      R__b.WriteArray((Int_t*)aMdcClusMult, 12);
      R__b.WriteArray((Int_t*)aMdcSegFittedMult, 12);
      R__b.WriteArray((Int_t*)aMdcSegUnfittedMult, 12);
      R__b.WriteArray(aTofMult, 6);
      R__b.WriteArray(aShowerMult, 6);
      R__b.WriteArray(aPidTrackCandMult, 6);
      R__b.WriteArray(aTofinoMult, 6);
      R__b.WriteArray(aSelectedPidTrackCandMult, 6);
      R__b << nFWallMult;
      R__b << fFWallVector;
      R__b << fRPlanePhi;
      R__b.SetByteCount(R__c, kTRUE);
   }
}



Last change: Sat May 22 13:07:03 2010
Last generated: 2010-05-22 13:07

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.