//*-- AUTHOR : Ilse Koenig
//*-- Modified : 18/06/99 by Ilse Koenig

//_HADES_CLASS_DESCRIPTION 
///////////////////////////////////////////////////////////////////////////////
//
// HMdcCal2Sim
//
// Data object for a Mdc cell containing distances to the wires for simulated
// events
// This class inherits from the class HMdcCal1 used for real data.
//
// As additional data elements the track numbers of the two hits are stored
// and a status number.
// The track number of the hits can be accessed via the inline functions    
//     void setNTrack1(const Int_t nTrack1) of dist1
//     void setNTrack2(const Int_t nTrack2) of dist2
//     Int_t getNTrack1(void) const         of dist1
//     Int_t getNTrack2(void) const         of dist2
// and the status via the inline functions 
//     void setStatus1(const Int_t flag)    of dist1
//     Int_t getStatus1() const             of dist1
//     void setStatus2(const Int_t flag)    of dist2
//     Int_t getStatus2() const             of dist2
//     void  setTrackList(Int_t* array) array of tracks[5]  can be coppied
//           to TrackList
//     void  getTrackList(Int_t* array) array of tracks[5]  can be filled
//           from TrackList
//     void  setStatusList(Int_t* array) array of status[5] can be coppied
//           to StatusList
//     void  getStatusList(Int_t* array) array of status[5] can be filled
//           from StatusList
//     Int_t getNTracks() returns number of tracks in track list,
//           can be used for loops
//           for(Int_t i=0;i<(HMdcCal1Sim*)cal->getNTracks();i++)
//              { (HMdcCal1Sim*)cal->getTrackFromList(i);}
//     Int_t* getStatusList(){return (Int_t*)listStatus;}
//     Int_t* getTrackList() {return (Int_t*)listTrack;}
//     Int_t getTrackFromList (Int_t element){return listTrack [element];}
//     Int_t getStatusFromList(Int_t element){return listStatus[element];}
//
// According to the two different TDC modes the HMdcCal1Sim category is filled.
//
// MODE 1 (two times LEADING EDGE of the TDC signal)
//           nHits ==  -2 for 2 valid hits
//                 ==  -1 for 1 valid hit
//                 ==   0 for a not filled hit (e.g. 1 hit was kicked out by efficiency)
//         status1 ==   1 for a valid first hit
//                 ==   2 for a valid first hit caused by noise
//                 ==  -3 for a not valid hit
//                 ==   0 for REAL data (embedding) or no hit
//         status2 ==   1 for a valid second hit
//                 ==   2 for a valid first hit caused by noise
//                 ==  -3 for a not valid hit
//                 ==   0 for REAL data (embedding) or no hit
//         nTrack1 ==   track number of the first valid hit
//                 ==  -99 if not filled
//         nTrack2 ==   track number of the second valid hit
//                 ==  -99 if not filled
//         dist1   ==   distance from sense wire of irst valid hit
//                 ==  -99 if not filled
//         dist2   ==   distance from sense wire of the second valid hit
//                 ==  -99 if not filled
//     listTrack[5] :   contains the track number of the first 5 hits per cell
//                      == -99 if no hit was filled
//     listStatus[5]:   contains the status flags of the first 5 hits per cell
//                      == -1 if hit was kicked out by cell efficiency cut
//                      == -2 if hit was kicked out by layer efficiency cut
//                      ==  1 if hit is valid
//                      ==  2 if hit is noise
//                      ==  3 if hit is REAL data (embedding)
//                      ==  0 if no hit was filled
//     both lists will be filled even if no vaild hit was found
//
// MODE 2 (LEADING AND TRAILING EDGE of the TDC signal)
//           nHits ==  +2 for 2 valid hits
//                 ==   0 for not filled hit (e.g. 1 hit was kicked out by efficiency)
//         status1 ==   1 for a valid first hit
//                 ==   2 for a valid first hit caused by noise
//                 ==  -3 for a not valid hit
//                 ==   0 for REAL data (embedding) or no hit
//         status2 ==   1 for a valid first hit
//                 ==   2 for a valid first hit caused by noise
//                 ==  -3 for a not valid hit
//                 ==   0 for REAL data (embedding) or no hit
//         nTrack1 ==   track number of first valid hit
//                 ==  -99 if not filled
//         nTrack2 ==   track number of first valid hit
//                 ==  -99 if not filled
//         dist1   ==   distance from sense wire of the first valid hit
//                 ==  -99 if not filled
//         dist2   ==  -99 if not filled
//     listTrack[5] :   contains the track number of the first 5 hits per cell
//                      == -99 if no hit was filled
//     listStatus[5]:   contains the status flags of the first 5 hits per cell
//                      == -1 if hit was kicked out by cell efficiency cut
//                      == -2 if hit was kicked out by layer efficiency cut
//                      ==  1 if hit is valid
//                      ==  2 if hit is noise
//                      ==  3 if hit is REAL data (embedding)
//                      ==  0 if no hit was filled
//     both lists will be filled even if no vaild hit was found
//
////////////////////////////////////////////////////////////////////////////////

#include "hmdccal2sim.h"

ClassImp(HMdcCal2Sim)

void HMdcCal2Sim::clear() {
  // clears the object
  HMdcCal2::clear();
  nTrack1=nTrack2=-99;
  status1=0;
  status2=0;
  for(Int_t i=0;i<5;i++)
  {
      listTrack[i]=-99;
      listStatus[i]=0;
  }
}

Last change: Sat May 22 12:59:56 2010
Last generated: 2010-05-22 12:59

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.