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

beamtime/cosy-nov11/go4/RPC/TRpcRec.h (r4864/r2196)

Go to the documentation of this file.
00001 #ifndef TRPCREC_H
00002 #define TRPCREC_H
00003 
00004 
00005 #include <vector>
00006 #include <stdint.h>
00007 
00008 #include "TCBMBeamtimeProc.h"
00009 
00010 #include "TRocEvent.h"
00011 #include "TRPCParam.h"
00012 
00013 #include "TGet4HitUnpacked.h"
00014 
00015 class TRpcParam;
00016 class TGo4MbsSubEvent;
00017 class TGet4HitUnpacked;
00018 
00019 // Structure with all data field for 1 Get4 chip!
00020 struct TRpcRec {      
00021    UInt_t    u_nbConsLE[NB_CHAN_GET4];
00022    UInt_t    u_nbConsTE[NB_CHAN_GET4];
00023 
00024       // Flags
00025    Bool_t    bFirstEpochBlock;
00026    Bool_t    bStoredHitUnp;
00027      
00028    std::vector<UInt_t> uEpochStart; // Start of each message XX epochs buffer
00029    std::vector<UInt_t> uCycleStart; // Start of each message XX epochs buffer  
00030 
00031       // Check for Hits Building
00032    TGet4HitUnpacked hitCurrent[NB_CHAN_GET4];
00033    TGet4HitUnpacked hitLatest[NB_CHAN_GET4];
00034    
00035       // Check for Time ordering of Hits
00036    TGet4HitUnpacked hitCurrentBlock[NB_CHAN_GET4];
00037    TGet4HitUnpacked hitLatestBlock[NB_CHAN_GET4];
00038    
00039    // Rate variable
00040    Double_t   dInstantRateMean[NB_CHAN_GET4];
00041    Double_t  *dInstantRateOld[NB_CHAN_GET4]; 
00042    UInt_t     uInstantRateCounter[NB_CHAN_GET4];
00043   
00044    UInt_t     u_messageCountLastEpoch;
00045    
00046    
00047    // Histograms
00048    TH1 *fGet4FineTimeLE[NB_CHAN_GET4];        // Finetime of Leading Edge
00049    TH1 *fGet4FineTimeTE[NB_CHAN_GET4];        // Finetime of Trailing Edge
00050    TH1 *fGet4LeDnl[NB_CHAN_GET4];             // DNL value for each bin
00051    TH1 *fGet4LeDnlSum[NB_CHAN_GET4];          // Integral of DNL value up to each bin
00052    TH1 *fGet4TeDnl[NB_CHAN_GET4];             // DNL value for each bin
00053    TH1 *fGet4TeDnlSum[NB_CHAN_GET4];          // Integral of DNL value up to each bin
00054 
00055    TH1 *fGet4TOT[NB_CHAN_GET4];               // Time over threshold
00056 
00057    TH1 *fGet4PulseSpacingClose[NB_CHAN_GET4]; // Pulse spacing between current and last hit, ns range
00058    TH1 *fGet4PulseSpacingMid[NB_CHAN_GET4];   // Pulse spacing between current and last hit, us range
00059    TH1 *fGet4PulseSpacingFar[NB_CHAN_GET4];   // Pulse spacing between current and last hit, s range
00060    TH2 *fGet4InstantRate[NB_CHAN_GET4];       // Instantaneous rate average over 8 or 10 hits
00061                                 
00062    std::vector< TH1 * > fVGetTimeCorrelation; // Time Correlation between two channels
00063    std::vector< TH2 * > fVGetTotCorrelation;  // Tot  Correlation between two channels
00064    std::vector< TH1 * > fVCheckCorrelation;   // Correlation between three channels
00065    std::vector< TH2 * > fVCheckCorrelation4;  // Correlation between three channels
00066   
00067    TH1 *fGet4RisEdgesNbEvol[NB_CHAN_GET4];    // Nb of rising  edges depending on cycle/chan
00068    TH1 *fGet4FalEdgesNbEvol[NB_CHAN_GET4];    // Nb of falling edges depending on cycle/chan
00069    TH1 *fGet4HitsNbEvolution[NB_CHAN_GET4];   // Nb of matched hits depending on cycle/chan
00070   
00071    TH1 *fGet4MessValidEpochs;                 // Nb of Messages in valid Epochs 
00072   
00073    TH1 *fNbConsecutiveLE[NB_CHAN_GET4];       // Nb of consecutive Leading edges (should stay at 1 or max 2 when multi hits)
00074    TH1 *fNbConsecutiveTE[NB_CHAN_GET4];       // Nb of consecutive Trailing edges (should stay at 1 or max 2 when multi hits)
00075    
00076    TRpcRec();
00077 };
00078 
00079 #endif // TRPCREC_H

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