#ifndef ROOT_THaDetector
#define ROOT_THaDetector

//////////////////////////////////////////////////////////////////////////
//
// THaDetector
//
// Abstract base class for a generic Hall A detector. This class 
// describes an actual detector (not subdetector) and can be added to
// an apparatus.
//
//////////////////////////////////////////////////////////////////////////

#include "THaDetectorBase.h"
#include <TRef.h>
#include "THaApparatus.h"

//class THaApparatus;

class THaDetector : public THaDetectorBase {
  
public:
  virtual ~THaDetector();
  THaApparatus*  GetApparatus() const   {
    return static_cast<THaApparatus*>(fApparatus.GetObject());
  }
  
  virtual void   SetApparatus( THaApparatus* );

  THaDetector();  // for ROOT I/O only

protected:

  virtual void MakePrefix();

  //Only derived classes may construct me
  THaDetector( const char* name, const char* description, 
	       THaApparatus* apparatus = NULL );  

private:
  TRef  fApparatus;         // Apparatus containing this detector

  ClassDef(THaDetector,1)   //Abstract base class for a Hall A detector
};

#endif

Last change: Sat Nov 7 21:26:45 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.