ROOT logo

#ifndef __HPARTICLEEVTINFO_H__
#define __HPARTICLEEVTINFO_H__


#include "TObject.h"

#define MAXSECTOR 6
#define MAXIOSEG 2
// ----------------------------------------------------------------------------
class HParticleEvtInfo : public TObject
{
private:

    // hit multiplicity per detector (sector wise)
    Int_t aRichMult                [MAXSECTOR];            // RICH rings
    Int_t aRichCorrMult            [MAXSECTOR];            // correlated RICH rings with a RK track
    Int_t aRichClusMult            [MAXSECTOR];            // RICH charged particle clusters
    Int_t aMdcClusMult             [MAXSECTOR][MAXIOSEG];  // MDC cluster (segment wise)
    Int_t aMdcSegFittedMult        [MAXSECTOR][MAXIOSEG];  // fitted MDC segments
    Int_t aMdcSegUnfittedMult      [MAXSECTOR][MAXIOSEG];  // unfitted MDc segments
    Int_t aTofMult                 [MAXSECTOR];            // TOF hit multiplicity
    Int_t aShowerMult              [MAXSECTOR];            // Shower/TOFino hit or Emc cluster multiplicity
    Int_t aRpcMult                 [MAXSECTOR];            // RPC cluster multiplicity
    Int_t aRpcMultHit              [MAXSECTOR];            // RPC hit multiplicity
    Int_t aTofMultCut              [MAXSECTOR];            // TOF hit multiplicity after cut < 35 ns
    Int_t aRpcMultCut              [MAXSECTOR];            // RPC cluster multiplicity  after cut < 25 ns
    Int_t aRpcMultHitCut           [MAXSECTOR];            // RPC hit multiplicity      after cut < 25 ns
    Int_t aParticleCandMult        [MAXSECTOR];            // Particle Candidate entries
    Int_t aSelectedParticleCandMult[MAXSECTOR];            // selected ParticleTrack Candidate entries (flagged kIsUsed)
    Int_t aPrimaryParticleCandMult [MAXSECTOR];            // selected ParticleTrack Candidate from primary vertex entries (flagged kIsUsed)
    Short_t aMdcWires              [MAXSECTOR][4][6];      // all wire of MDC used in segments in the event (sec,mod,lay)
    Short_t aMdcWiresUnused        [MAXSECTOR][4][6];      // all wire of MDC not used in segments in the event  (sec,mod,lay)
    Short_t aMdcWiresRaw           [MAXSECTOR][4][6];      // all wire of MDC fired before timecuts (sec,mod,lay)
    Short_t aMdcFlashWires         [MAXSECTOR][4];         // flash wire of MDC (sec,mod)
    Short_t aMdcDeltaElWires       [MAXSECTOR][4];         // DeltaElectron wire of MDC (sec,mod)
    // reaction plane information
    Int_t    nFWallMult;                                   // forward wall hits
    Double_t fFWallVector; 	                           // not yet implemented: vector size of all FW positions
    Double_t fRPlanePhi; 	                           // not yet implemented: phi of reaction plane
    Float_t  fwallPhiA;                                    // wall sample A phi
    Float_t  fwallPhiB;                                    // wall sample B phi
    Float_t  fwallPhiAB;                                   // delta phi sample A-B
    Float_t  fwallNA;                                      // n hits in sample A
    Float_t  fwallNB;                                      // n hits in sample B
    UInt_t   fEventSelector;                               // flags for eventselection (hparticeldef.h eEventSelect)

    Float_t  fMeanMult;                                    // floating mean for all selected cands
    Float_t  fMeanMIPSMult;                                // floating mean for all selected mips cands
    Float_t  fMeanLEPMult;                                 // floating mean for all selected lep cands
    Float_t  fMeanMultSec    [6];                          // floating mean for all selected cands per sector
    Float_t  fMeanMIPSMultSec[6];                          // floating mean for all selected mips cands per sector
    Float_t  fMeanLEPMultSec [6];                          // floating mean for all selected mips cands per sector
    Float_t  fSigmaMult;                                    // floating sigma for all selected cands
    Float_t  fSigmaMIPSMult;                                // floating sigma for all selected mips cands
    Float_t  fSigmaLEPMult;                                 // floating sigma for all selected lep cands
    Float_t  fSigmaMultSec    [6];                          // floating sigma for all selected cands per sector
    Float_t  fSigmaMIPSMultSec[6];                          // floating sigma for all selected mips cands per sector
    Float_t  fSigmaLEPMultSec [6];                          // floating sigma for all selected mips cands per sector


public:

    HParticleEvtInfo(void);
    ~HParticleEvtInfo(void) {}


    void setRichMult                (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRichMult                [s] = m[s]; }
    void setRichCorrMult            (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRichCorrMult            [s] = m[s]; }
    void setRichClusMult            (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRichClusMult            [s] = m[s]; }
    void setTofMult                 (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aTofMult                 [s] = m[s]; }
    void setRpcMult                 (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRpcMult                 [s] = m[s]; }
    void setRpcMultHit              (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRpcMultHit              [s] = m[s]; }
    void setTofMultCut              (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aTofMultCut              [s] = m[s]; }
    void setRpcMultCut              (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRpcMultCut              [s] = m[s]; }
    void setRpcMultHitCut           (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aRpcMultHitCut           [s] = m[s]; }
    void setShowerMult              (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aShowerMult              [s] = m[s]; }
    void setEmcMult                 (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aShowerMult              [s] = m[s]; }
    void setParticleCandMult        (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aParticleCandMult        [s] = m[s]; }
    void setSelectedParticleCandMult(const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aSelectedParticleCandMult[s] = m[s]; }
    void setPrimaryParticleCandMult (const Int_t m[MAXSECTOR]) { for (Int_t s = 0; s < MAXSECTOR; ++s) aPrimaryParticleCandMult [s] = m[s]; }
    void setMdcClusMult(const Int_t m[MAXSECTOR][MAXIOSEG]) {
	for (Int_t s = 0; s < MAXSECTOR; ++s)
	    for (Int_t io = 0; io < MAXIOSEG; ++io)
		aMdcClusMult[s][io] = m[s][io];
    }
    void setMdcSegFittedMult(const Int_t m[MAXSECTOR][MAXIOSEG]) {
	for (Int_t s = 0; s < MAXSECTOR; ++s)
	    for (Int_t io = 0; io < MAXIOSEG; ++io)
		aMdcSegFittedMult[s][io] = m[s][io];
    }
    void setMdcSegUnfittedMult(const Int_t m[MAXSECTOR][MAXIOSEG]) {
	for (Int_t s = 0; s < MAXSECTOR; ++s)
	    for (Int_t io = 0; io < MAXIOSEG; ++io)
		aMdcSegUnfittedMult[s][io] = m[s][io];
    }

    void setMdcWires        (Int_t s,Int_t m,Int_t l,Int_t nw) { aMdcWires        [s][m][l] = nw; }
    void setMdcWiresUnused  (Int_t s,Int_t m,Int_t l,Int_t nw) { aMdcWiresUnused  [s][m][l] = nw; }
    void setMdcWiresRaw     (Int_t s,Int_t m,Int_t l,Int_t nw) { aMdcWiresRaw     [s][m][l] = nw; }
    void setMdcFlashWires   (Int_t s,Int_t m,Int_t nw)         { aMdcFlashWires   [s][m] = nw; }
    void setMdcDeltaElWires (Int_t s,Int_t m,Int_t nw)         { aMdcDeltaElWires [s][m] = nw; }

    void setFWallMult  (Int_t m)    { nFWallMult   = m; }
    void setFWallVector(Double_t d) { fFWallVector = d; }
    void setRPlanePhi  (Double_t d) { fRPlanePhi   = d; }
    void setPhiA       (Float_t val){ fwallPhiA    = val; }
    void setPhiB       (Float_t val){ fwallPhiB    = val; }
    void setPhiAB      (Float_t val){ fwallPhiAB   = val; }
    void setNA         (Float_t val){ fwallNA      = val; }
    void setNB         (Float_t val){ fwallNB      = val; }

    void setMeanMult    (Float_t mean)          { fMeanMult        = mean; }
    void setMeanMIPSMult(Float_t mean)          { fMeanMIPSMult    = mean; }
    void setMeanLEPMult (Float_t mean)          { fMeanLEPMult     = mean; }
    void setMeanMult    (Int_t s,Float_t mean)  { fMeanMultSec[s]     = mean; }
    void setMeanMIPSMult(Int_t s,Float_t mean)  { fMeanMIPSMultSec[s] = mean; }
    void setMeanLEPMult (Int_t s,Float_t mean)  { fMeanLEPMultSec [s] = mean; }
    void setSigmaMult    (Float_t sig)          { fSigmaMult        = sig; }
    void setSigmaMIPSMult(Float_t sig)          { fSigmaMIPSMult    = sig; }
    void setSigmaLEPMult (Float_t sig)          { fSigmaLEPMult     = sig; }
    void setSigmaMult    (Int_t s,Float_t sig)  { fSigmaMultSec[s]     = sig; }
    void setSigmaMIPSMult(Int_t s,Float_t sig)  { fSigmaMIPSMultSec[s] = sig; }
    void setSigmaLEPMult (Int_t s,Float_t sig)  { fSigmaLEPMultSec [s] = sig; }

    Float_t getMeanMult    ()         { return fMeanMult          ; }
    Float_t getMeanMIPSMult()         { return fMeanMIPSMult      ; }
    Float_t getMeanLEPMult ()         { return fMeanLEPMult       ; }
    Float_t getMeanMult    (Int_t s)  { return fMeanMultSec[s]    ; }
    Float_t getMeanMIPSMult(Int_t s)  { return fMeanMIPSMultSec[s]; }
    Float_t getMeanLEPMult (Int_t s)  { return fMeanLEPMultSec [s]; }

    Float_t getSigmaMult    ()         { return fSigmaMult          ; }
    Float_t getSigmaMIPSMult()         { return fSigmaMIPSMult      ; }
    Float_t getSigmaLEPMult ()         { return fSigmaLEPMult       ; }
    Float_t getSigmaMult    (Int_t s)  { return fSigmaMultSec[s]    ; }
    Float_t getSigmaMIPSMult(Int_t s)  { return fSigmaMIPSMultSec[s]; }
    Float_t getSigmaLEPMult (Int_t s)  { return fSigmaLEPMultSec [s]; }




    Int_t getRichMult                (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRichMult                [s]  :  -1; }
    Int_t getRichCorrMult            (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRichCorrMult            [s]  :  -1; }
    Int_t getRichClusMult            (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRichClusMult            [s]  :  -1; }
    Int_t getTofMult                 (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aTofMult                 [s]  :  -1; }
    Int_t getRpcMult                 (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRpcMult                 [s]  :  -1; }
    Int_t getRpcMultHit              (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRpcMultHit              [s]  :  -1; }
    Int_t getTofMultCut              (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aTofMultCut              [s]  :  -1; }
    Int_t getRpcMultCut              (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRpcMultCut              [s]  :  -1; }
    Int_t getRpcMultHitCut           (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aRpcMultHitCut           [s]  :  -1; }
    Int_t getShowerMult              (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aShowerMult              [s]  :  -1; }
    Int_t getEmcMult                 (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aShowerMult              [s]  :  -1; }
    Int_t getParticleCandMult        (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aParticleCandMult        [s]  :  -1; }
    Int_t getSelectedParticleCandMult(Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aSelectedParticleCandMult[s]  :  -1; }
    Int_t getPrimaryParticleCandMult (Int_t s)           const { return ( s >= 0 && s < MAXSECTOR )  ?  aPrimaryParticleCandMult [s]  :  -1; }
    Int_t getMdcClusMult             (Int_t s, Int_t io) const { return ( s >= 0 && s < MAXSECTOR  &&  io >= 0 &&  io < MAXIOSEG ) ? aMdcClusMult       [s][io]  :  -1; }
    Int_t getMdcSegFittedMult        (Int_t s, Int_t io) const { return ( s >= 0 && s < MAXSECTOR  &&  io >= 0 &&  io < MAXIOSEG ) ? aMdcSegFittedMult  [s][io]  :  -1; }
    Int_t getMdcSegUnfittedMult      (Int_t s, Int_t io) const { return ( s >= 0 && s < MAXSECTOR  &&  io >= 0 &&  io < MAXIOSEG)  ? aMdcSegUnfittedMult[s][io]  :  -1; }

    Int_t getSumRichMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRichMult[s];
	return sum;
    }
    Int_t getSumRichCorrMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRichCorrMult[s];
	return sum;
    }
    Int_t getSumRichClusMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRichClusMult[s];
	return sum;
    }
    Int_t getSumTofMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aTofMult[s];
	return sum;
    }
    Int_t getSumRpcMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRpcMult[s];
	return sum;
    }
    Int_t getSumRpcMultHit() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRpcMultHit[s];
	return sum;
    }
    Int_t getSumTofMultCut() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aTofMultCut[s];
	return sum;
    }
    Int_t getSumRpcMultCut() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRpcMultCut[s];
	return sum;
    }
    Int_t getSumRpcMultHitCut() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aRpcMultHitCut[s];
	return sum;
    }
    Int_t getSumShowerMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aShowerMult[s];
	return sum;
    }
    Int_t getSumEmcMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aShowerMult[s];
	return sum;
    }
    Int_t getSumParticleCandMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aParticleCandMult[s];
	return sum;
    }
    Int_t getSumSelectedParticleCandMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aSelectedParticleCandMult[s];
	return sum;
    }
    Int_t getSumPrimaryParticleCandMult() const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aPrimaryParticleCandMult[s];
	return sum;
    }
    Int_t getSumMdcClusMult(Int_t io) const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aMdcClusMult[s][io];
	return sum;
    }
    Int_t getSumMdcSegFittedMult(Int_t io) const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aMdcSegFittedMult[s][io];
	return sum;
    }
    Int_t getSumMdcSegUnfittedMult(Int_t io) const {
	Int_t sum = 0;
	for (Int_t s = 0; s < MAXSECTOR; ++s ) sum += aMdcSegUnfittedMult[s][io];
	return sum;
    }
    Int_t getMdcAllWiresLay   (Int_t s,Int_t m,Int_t l) {   return aMdcWires[s][m][l]+aMdcWiresUnused[s][m][l]; }
    Int_t getMdcAllWiresMod   (Int_t s,Int_t m)         {   Int_t sum = 0;                                                for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l] + aMdcWiresUnused[s][m][l];  return sum; }
    Int_t getMdcAllWiresSec   (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l] + aMdcWiresUnused[s][m][l];  return sum; }
    Int_t getMdcAllWires      ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l] + aMdcWiresUnused[s][m][l];  return sum; }

    Int_t getMdcWiresLay   (Int_t s,Int_t m,Int_t l) {   return aMdcWires[s][m][l]; }
    Int_t getMdcWiresMod   (Int_t s,Int_t m)         {   Int_t sum = 0;                                                for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l];  return sum; }
    Int_t getMdcWiresSec   (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l];  return sum; }
    Int_t getMdcWires      ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWires[s][m][l];  return sum; }

    Int_t getMdcWiresUnusedLay   (Int_t s,Int_t m,Int_t l) {   return aMdcWiresUnused[s][m][l]; }
    Int_t getMdcWiresUnusedMod   (Int_t s,Int_t m)         {   Int_t sum = 0;                         for(Int_t l=0;l<6;l++)                        sum += aMdcWiresUnused[s][m][l];  return sum; }
    Int_t getMdcWiresUnusedSec   (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWiresUnused[s][m][l];  return sum; }
    Int_t getMdcWiresUnused      ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWiresUnused[s][m][l];  return sum; }

    Int_t getMdcWiresRawLay   (Int_t s,Int_t m,Int_t l) {   return aMdcWiresRaw[s][m][l]; }
    Int_t getMdcWiresRawMod   (Int_t s,Int_t m)         {   Int_t sum = 0;                                                for(Int_t l=0;l<6;l++) sum += aMdcWiresRaw[s][m][l];  return sum; }
    Int_t getMdcWiresRawSec   (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWiresRaw[s][m][l];  return sum; }
    Int_t getMdcWiresRaw      ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) for(Int_t l=0;l<6;l++) sum += aMdcWiresRaw[s][m][l];  return sum; }

    Int_t getMdcFlashWiresMod (Int_t s,Int_t m)         {   return aMdcFlashWires[s][m]; }
    Int_t getMdcFlashWiresSec (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) sum += aMdcFlashWires[s][m];  return sum; }
    Int_t getMdcFlashWires    ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) sum += aMdcFlashWires[s][m];  return sum; }
    Int_t getMdcFlashWiresSeg (Int_t s,Int_t g)  const  {
        Int_t m1 = g*2;
        return aMdcFlashWires[s][m1]+aMdcFlashWires[s][m1+1];
    }
    Int_t getMaxNrFlashWiresPerSeg (void) const           {
        Int_t maxn = 0;
        for(Int_t s=0;s<MAXSECTOR;s++) for(Int_t g=0;g<2;g++) {
            Int_t n = getMdcFlashWiresSeg(s,g);
            if(n > maxn) maxn = n;
        } 
        return maxn;
    }

    Int_t getMdcDeltaElWiresMod (Int_t s,Int_t m)         {   return aMdcDeltaElWires[s][m]; }
    Int_t getMdcDeltaElWiresSec (Int_t s)                 {   Int_t sum = 0;                         for(Int_t m=0;m<4;m++) sum += aMdcDeltaElWires[s][m];  return sum; }
    Int_t getMdcDeltaElWires    ()                        {   Int_t sum = 0;  for(Int_t s=0;s<6;s++) for(Int_t m=0;m<4;m++) sum += aMdcDeltaElWires[s][m];  return sum; }
    Int_t getMdcDeltaElWiresSeg (Int_t s,Int_t g)  const  {
        Int_t m1 = g*2;
        return aMdcDeltaElWires[s][m1]+aMdcDeltaElWires[s][m1+1];
    }
    Int_t getMaxNrDeltaElWiresPerSeg (void) const           {
        Int_t maxn = 0;
        for(Int_t s=0;s<MAXSECTOR;s++) for(Int_t g=0;g<2;g++) {
            Int_t n = getMdcDeltaElWiresSeg(s,g);
            if(n > maxn) maxn = n;
        } 
        return maxn;
    }

    Int_t    getFWallMult  (void) const { return nFWallMult;   }
    Double_t getFWallVector(void) const { return fFWallVector; }
    Double_t getRPlanePhi  (void) const { return fRPlanePhi;   }
    Float_t  getPhiA       (void) const { return fwallPhiA;  }
    Float_t  getPhiB       (void) const { return fwallPhiB;  }
    Float_t  getPhiAB      (void) const { return fwallPhiAB; }
    Float_t  getNA         (void) const { return fwallNA; }
    Float_t  getNB         (void) const { return fwallNB; }

    //--------------------------------------------------------------
    // handling flags for eventselection (hparticledef.h : eEventSelect)
    UInt_t getEventSelector(void) const { return fEventSelector;}
    void   setEventSelector(UInt_t flag){ fEventSelector=flag;}
    Bool_t isGoodEvent     (UInt_t flag){ return (flag==(fEventSelector&flag));}
    void   setSelectorBit  (UInt_t flag){ fEventSelector=(fEventSelector|flag);}
    void   unsetSelectorBit(UInt_t flag){ fEventSelector&=~flag;}
    //--------------------------------------------------------------

    void clearMembers(void);
    ClassDef(HParticleEvtInfo, 7) // Event characteristic info
};

#endif //__HPARTICEEVTINFO_H__
 hparticleevtinfo.h:1
 hparticleevtinfo.h:2
 hparticleevtinfo.h:3
 hparticleevtinfo.h:4
 hparticleevtinfo.h:5
 hparticleevtinfo.h:6
 hparticleevtinfo.h:7
 hparticleevtinfo.h:8
 hparticleevtinfo.h:9
 hparticleevtinfo.h:10
 hparticleevtinfo.h:11
 hparticleevtinfo.h:12
 hparticleevtinfo.h:13
 hparticleevtinfo.h:14
 hparticleevtinfo.h:15
 hparticleevtinfo.h:16
 hparticleevtinfo.h:17
 hparticleevtinfo.h:18
 hparticleevtinfo.h:19
 hparticleevtinfo.h:20
 hparticleevtinfo.h:21
 hparticleevtinfo.h:22
 hparticleevtinfo.h:23
 hparticleevtinfo.h:24
 hparticleevtinfo.h:25
 hparticleevtinfo.h:26
 hparticleevtinfo.h:27
 hparticleevtinfo.h:28
 hparticleevtinfo.h:29
 hparticleevtinfo.h:30
 hparticleevtinfo.h:31
 hparticleevtinfo.h:32
 hparticleevtinfo.h:33
 hparticleevtinfo.h:34
 hparticleevtinfo.h:35
 hparticleevtinfo.h:36
 hparticleevtinfo.h:37
 hparticleevtinfo.h:38
 hparticleevtinfo.h:39
 hparticleevtinfo.h:40
 hparticleevtinfo.h:41
 hparticleevtinfo.h:42
 hparticleevtinfo.h:43
 hparticleevtinfo.h:44
 hparticleevtinfo.h:45
 hparticleevtinfo.h:46
 hparticleevtinfo.h:47
 hparticleevtinfo.h:48
 hparticleevtinfo.h:49
 hparticleevtinfo.h:50
 hparticleevtinfo.h:51
 hparticleevtinfo.h:52
 hparticleevtinfo.h:53
 hparticleevtinfo.h:54
 hparticleevtinfo.h:55
 hparticleevtinfo.h:56
 hparticleevtinfo.h:57
 hparticleevtinfo.h:58
 hparticleevtinfo.h:59
 hparticleevtinfo.h:60
 hparticleevtinfo.h:61
 hparticleevtinfo.h:62
 hparticleevtinfo.h:63
 hparticleevtinfo.h:64
 hparticleevtinfo.h:65
 hparticleevtinfo.h:66
 hparticleevtinfo.h:67
 hparticleevtinfo.h:68
 hparticleevtinfo.h:69
 hparticleevtinfo.h:70
 hparticleevtinfo.h:71
 hparticleevtinfo.h:72
 hparticleevtinfo.h:73
 hparticleevtinfo.h:74
 hparticleevtinfo.h:75
 hparticleevtinfo.h:76
 hparticleevtinfo.h:77
 hparticleevtinfo.h:78
 hparticleevtinfo.h:79
 hparticleevtinfo.h:80
 hparticleevtinfo.h:81
 hparticleevtinfo.h:82
 hparticleevtinfo.h:83
 hparticleevtinfo.h:84
 hparticleevtinfo.h:85
 hparticleevtinfo.h:86
 hparticleevtinfo.h:87
 hparticleevtinfo.h:88
 hparticleevtinfo.h:89
 hparticleevtinfo.h:90
 hparticleevtinfo.h:91
 hparticleevtinfo.h:92
 hparticleevtinfo.h:93
 hparticleevtinfo.h:94
 hparticleevtinfo.h:95
 hparticleevtinfo.h:96
 hparticleevtinfo.h:97
 hparticleevtinfo.h:98
 hparticleevtinfo.h:99
 hparticleevtinfo.h:100
 hparticleevtinfo.h:101
 hparticleevtinfo.h:102
 hparticleevtinfo.h:103
 hparticleevtinfo.h:104
 hparticleevtinfo.h:105
 hparticleevtinfo.h:106
 hparticleevtinfo.h:107
 hparticleevtinfo.h:108
 hparticleevtinfo.h:109
 hparticleevtinfo.h:110
 hparticleevtinfo.h:111
 hparticleevtinfo.h:112
 hparticleevtinfo.h:113
 hparticleevtinfo.h:114
 hparticleevtinfo.h:115
 hparticleevtinfo.h:116
 hparticleevtinfo.h:117
 hparticleevtinfo.h:118
 hparticleevtinfo.h:119
 hparticleevtinfo.h:120
 hparticleevtinfo.h:121
 hparticleevtinfo.h:122
 hparticleevtinfo.h:123
 hparticleevtinfo.h:124
 hparticleevtinfo.h:125
 hparticleevtinfo.h:126
 hparticleevtinfo.h:127
 hparticleevtinfo.h:128
 hparticleevtinfo.h:129
 hparticleevtinfo.h:130
 hparticleevtinfo.h:131
 hparticleevtinfo.h:132
 hparticleevtinfo.h:133
 hparticleevtinfo.h:134
 hparticleevtinfo.h:135
 hparticleevtinfo.h:136
 hparticleevtinfo.h:137
 hparticleevtinfo.h:138
 hparticleevtinfo.h:139
 hparticleevtinfo.h:140
 hparticleevtinfo.h:141
 hparticleevtinfo.h:142
 hparticleevtinfo.h:143
 hparticleevtinfo.h:144
 hparticleevtinfo.h:145
 hparticleevtinfo.h:146
 hparticleevtinfo.h:147
 hparticleevtinfo.h:148
 hparticleevtinfo.h:149
 hparticleevtinfo.h:150
 hparticleevtinfo.h:151
 hparticleevtinfo.h:152
 hparticleevtinfo.h:153
 hparticleevtinfo.h:154
 hparticleevtinfo.h:155
 hparticleevtinfo.h:156
 hparticleevtinfo.h:157
 hparticleevtinfo.h:158
 hparticleevtinfo.h:159
 hparticleevtinfo.h:160
 hparticleevtinfo.h:161
 hparticleevtinfo.h:162
 hparticleevtinfo.h:163
 hparticleevtinfo.h:164
 hparticleevtinfo.h:165
 hparticleevtinfo.h:166
 hparticleevtinfo.h:167
 hparticleevtinfo.h:168
 hparticleevtinfo.h:169
 hparticleevtinfo.h:170
 hparticleevtinfo.h:171
 hparticleevtinfo.h:172
 hparticleevtinfo.h:173
 hparticleevtinfo.h:174
 hparticleevtinfo.h:175
 hparticleevtinfo.h:176
 hparticleevtinfo.h:177
 hparticleevtinfo.h:178
 hparticleevtinfo.h:179
 hparticleevtinfo.h:180
 hparticleevtinfo.h:181
 hparticleevtinfo.h:182
 hparticleevtinfo.h:183
 hparticleevtinfo.h:184
 hparticleevtinfo.h:185
 hparticleevtinfo.h:186
 hparticleevtinfo.h:187
 hparticleevtinfo.h:188
 hparticleevtinfo.h:189
 hparticleevtinfo.h:190
 hparticleevtinfo.h:191
 hparticleevtinfo.h:192
 hparticleevtinfo.h:193
 hparticleevtinfo.h:194
 hparticleevtinfo.h:195
 hparticleevtinfo.h:196
 hparticleevtinfo.h:197
 hparticleevtinfo.h:198
 hparticleevtinfo.h:199
 hparticleevtinfo.h:200
 hparticleevtinfo.h:201
 hparticleevtinfo.h:202
 hparticleevtinfo.h:203
 hparticleevtinfo.h:204
 hparticleevtinfo.h:205
 hparticleevtinfo.h:206
 hparticleevtinfo.h:207
 hparticleevtinfo.h:208
 hparticleevtinfo.h:209
 hparticleevtinfo.h:210
 hparticleevtinfo.h:211
 hparticleevtinfo.h:212
 hparticleevtinfo.h:213
 hparticleevtinfo.h:214
 hparticleevtinfo.h:215
 hparticleevtinfo.h:216
 hparticleevtinfo.h:217
 hparticleevtinfo.h:218
 hparticleevtinfo.h:219
 hparticleevtinfo.h:220
 hparticleevtinfo.h:221
 hparticleevtinfo.h:222
 hparticleevtinfo.h:223
 hparticleevtinfo.h:224
 hparticleevtinfo.h:225
 hparticleevtinfo.h:226
 hparticleevtinfo.h:227
 hparticleevtinfo.h:228
 hparticleevtinfo.h:229
 hparticleevtinfo.h:230
 hparticleevtinfo.h:231
 hparticleevtinfo.h:232
 hparticleevtinfo.h:233
 hparticleevtinfo.h:234
 hparticleevtinfo.h:235
 hparticleevtinfo.h:236
 hparticleevtinfo.h:237
 hparticleevtinfo.h:238
 hparticleevtinfo.h:239
 hparticleevtinfo.h:240
 hparticleevtinfo.h:241
 hparticleevtinfo.h:242
 hparticleevtinfo.h:243
 hparticleevtinfo.h:244
 hparticleevtinfo.h:245
 hparticleevtinfo.h:246
 hparticleevtinfo.h:247
 hparticleevtinfo.h:248
 hparticleevtinfo.h:249
 hparticleevtinfo.h:250
 hparticleevtinfo.h:251
 hparticleevtinfo.h:252
 hparticleevtinfo.h:253
 hparticleevtinfo.h:254
 hparticleevtinfo.h:255
 hparticleevtinfo.h:256
 hparticleevtinfo.h:257
 hparticleevtinfo.h:258
 hparticleevtinfo.h:259
 hparticleevtinfo.h:260
 hparticleevtinfo.h:261
 hparticleevtinfo.h:262
 hparticleevtinfo.h:263
 hparticleevtinfo.h:264
 hparticleevtinfo.h:265
 hparticleevtinfo.h:266
 hparticleevtinfo.h:267
 hparticleevtinfo.h:268
 hparticleevtinfo.h:269
 hparticleevtinfo.h:270
 hparticleevtinfo.h:271
 hparticleevtinfo.h:272
 hparticleevtinfo.h:273
 hparticleevtinfo.h:274
 hparticleevtinfo.h:275
 hparticleevtinfo.h:276
 hparticleevtinfo.h:277
 hparticleevtinfo.h:278
 hparticleevtinfo.h:279
 hparticleevtinfo.h:280
 hparticleevtinfo.h:281
 hparticleevtinfo.h:282
 hparticleevtinfo.h:283
 hparticleevtinfo.h:284
 hparticleevtinfo.h:285
 hparticleevtinfo.h:286
 hparticleevtinfo.h:287
 hparticleevtinfo.h:288
 hparticleevtinfo.h:289
 hparticleevtinfo.h:290
 hparticleevtinfo.h:291
 hparticleevtinfo.h:292
 hparticleevtinfo.h:293
 hparticleevtinfo.h:294
 hparticleevtinfo.h:295
 hparticleevtinfo.h:296
 hparticleevtinfo.h:297
 hparticleevtinfo.h:298
 hparticleevtinfo.h:299
 hparticleevtinfo.h:300
 hparticleevtinfo.h:301
 hparticleevtinfo.h:302
 hparticleevtinfo.h:303
 hparticleevtinfo.h:304
 hparticleevtinfo.h:305
 hparticleevtinfo.h:306
 hparticleevtinfo.h:307
 hparticleevtinfo.h:308
 hparticleevtinfo.h:309
 hparticleevtinfo.h:310
 hparticleevtinfo.h:311
 hparticleevtinfo.h:312
 hparticleevtinfo.h:313
 hparticleevtinfo.h:314
 hparticleevtinfo.h:315
 hparticleevtinfo.h:316
 hparticleevtinfo.h:317
 hparticleevtinfo.h:318
 hparticleevtinfo.h:319
 hparticleevtinfo.h:320