#ifndef ROOT_THaNonTrackingDetector
#define ROOT_THaNonTrackingDetector

//////////////////////////////////////////////////////////////////////////
//
// THaNonTrackingDetector.h
//
// Abstract base class for a generic non-tracking spectrometer detector. 
//
// This is a special THaSpectrometerDetector -- any detector that
// is not a tracking detector.  This includes PID detectors.
//
//////////////////////////////////////////////////////////////////////////

#include "THaSpectrometerDetector.h"

class TClonesArray;

class THaNonTrackingDetector : public THaSpectrometerDetector {
  
public:
  THaNonTrackingDetector(); // only for ROOT I/O

  virtual ~THaNonTrackingDetector();
  
  virtual Int_t    CoarseProcess( TClonesArray& tracks ) = 0;
  virtual Int_t    FineProcess( TClonesArray& tracks )  = 0;
          Bool_t   IsTracking() { return kFALSE; }
  virtual Bool_t   IsPid()      { return kFALSE; }

protected:

  //Only derived classes may construct me for real

  THaNonTrackingDetector( const char* name, const char* description,
			  THaApparatus* a = NULL);

  ClassDef(THaNonTrackingDetector,1)  //ABC for a non-tracking spectrometer detector
};

#endif

Last change: Sat Nov 7 21:26:48 2009
Last generated: 2009-11-07 21:26

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.