• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/tof-tdctest/go4/PADRPC/PadRpc_Event.cxx (r4864/r4267)

Go to the documentation of this file.
00001 /* Generated by Together */
00002 
00003 #include "PadRpc_Event.h"
00004 
00005 void PadRpc_Hit::Clear()
00006 {
00007    iPadIndexX = -1 ;
00008    iPadIndexY = -1 ;
00009    dTime      = -1 ;
00010    dTot       = -1 ;
00011 }
00012 
00013 void PadRpc_Cluster::Clear()
00014 {
00015    fHits.clear();
00016    dX = 0.0;
00017    dY = 0.0;
00018    dMeanTime = 0.0;
00019    dMeanPadX = 0.0;
00020    dMeanPadY = 0.0;
00021 }
00022 void PadRpc_Cluster::PositionCalculation(
00023       Double_t dMiddlePadX, Double_t dMiddlePadY,
00024       UInt_t uOrientation,
00025       Double_t dPadSizeX,  Double_t dPadSizeY )
00026 {
00027    Double_t dTotSum  = 0.0;
00028    Double_t dMeanTot = 0.0;
00029    if( 0 == fHits.size() )
00030       return;
00031 
00032    if( 1 == uOrientation )
00033    {
00034       dX = 0.0;
00035       dY = 0.0;
00036       dMeanTime = 0;
00037       dMeanPadX = 0;
00038       dMeanPadY = 0;
00039       for( UInt_t uHit = 0; uHit < fHits.size(); uHit++)
00040       {
00041          //dMeanTot = (fHits[uHit].dTotLeft ) + (fHits[uHit].dTotRight ); // Weighted
00042          dMeanTot = 1;                                                  // Not Weighted
00043          // Along Pad axis: Strip Index + 0.5 to sit in the middle of the Pad!
00044          dX        += (Double_t)(fHits[uHit].iPadIndexY + 0.5)*dMeanTot;
00045          dY        += (Double_t)(fHits[uHit].iPadIndexX + 0.5)*dMeanTot;
00046          dMeanTime += fHits[uHit].dTime ;
00047          dTotSum   += dMeanTot;
00048          dMeanPadX += (Double_t)(fHits[uHit].iPadIndexX)*dMeanTot;
00049          dMeanPadY += (Double_t)(fHits[uHit].iPadIndexY)*dMeanTot;
00050       } // for( UInt_t uHit = 0; uHit < fHits.size(); uHit++)
00051       dX = (dX/dTotSum)*dPadSizeY -dMiddlePadY;
00052       dY = (dY/dTotSum)*dPadSizeX -dMiddlePadX;
00053       dMeanTime  /= fHits.size();
00054       dMeanPadX /= dTotSum;
00055       dMeanPadY /= dTotSum;
00056    } // if( 1 == uOrientation )
00057       else
00058       {
00059          dX = 0.0;
00060          dY = 0.0;
00061          dMeanTime = 0;
00062          dMeanPadX = 0;
00063          dMeanPadY = 0;
00064          for( UInt_t uHit = 0; uHit < fHits.size(); uHit++)
00065          {
00066             //dMeanTot = (fHits[uHit].dTotLeft ) + (fHits[uHit].dTotRight ); // Weighted
00067             dMeanTot = 1;                                                  // Not Weighted
00068             // Along Pad axis: Strip Index + 0.5 to sit in the middle of the Pad!
00069             dX        += (Double_t)(fHits[uHit].iPadIndexX + 0.5)*dMeanTot;
00070             dY        += (Double_t)(fHits[uHit].iPadIndexY + 0.5)*dMeanTot;
00071             dMeanTime += fHits[uHit].dTime ;
00072             dTotSum   += dMeanTot;
00073             dMeanPadX += (Double_t)(fHits[uHit].iPadIndexX)*dMeanTot;
00074             dMeanPadY += (Double_t)(fHits[uHit].iPadIndexY)*dMeanTot;
00075          } // for( UInt_t uHit = 0; uHit < fHits.size(); uHit++)
00076          dX = (dX/dTotSum)*dPadSizeX -dMiddlePadX;
00077          dY = (dY/dTotSum)*dPadSizeY -dMiddlePadY;
00078          dMeanTime /= fHits.size();
00079          dMeanPadX /= dTotSum;
00080          dMeanPadY /= dTotSum;
00081       } // else of if( 1 == uOrientation )
00082 }
00083 
00084 void  PadRpc_Event::Clear()
00085 {
00086   // all members should be cleared.
00087    fClusters.clear();
00088 }
00089 

Generated on Tue Dec 10 2013 04:52:21 for ROCsoft by  doxygen 1.7.1