diff --git a/Makefile b/Makefile index 7beaa8b491cce123a2643c45c1a662737ed4ef07..e44478d6fef8b88a11be9e89770c5104f23505de 100644 --- a/Makefile +++ b/Makefile @@ -10,9 +10,7 @@ SRC = src/THcInterface.cxx src/THcParmList.cxx src/THcAnalyzer.cxx \ src/THcHodoscopeHit.cxx src/THcRawHit.cxx \ - src/THcDetectorBase.cxx src/THcDetector.cxx \ - src/THcSpectrometerDetector.cxx src/THcNonTrackingDetector.cxx \ - src/THcHodoscope.cxx + src/THcHitList.cxx src/THcHodoscope.cxx # Name of your package. # The shared library that will be built will get the name lib$(PACKAGE).so diff --git a/src/HallC_LinkDef.h b/src/HallC_LinkDef.h index c98a7cc684580db3083a281509a8d949c2c0d089..38578f3ce048fe11147f06ad63f426bd612fddd7 100644 --- a/src/HallC_LinkDef.h +++ b/src/HallC_LinkDef.h @@ -11,10 +11,7 @@ #pragma link C++ class THcAnalyzer+; #pragma link C++ class THcRawHit+; #pragma link C++ class THcHodoscopeHit+; -#pragma link C++ class THcDetectorBase+; -#pragma link C++ class THcDetector+; -#pragma link C++ class THcSpectrometerDetector+; -#pragma link C++ class THcNonTrackingDetector+; +#pragma link C++ class THcHitList+; #pragma link C++ class THcHodoscope+; #endif diff --git a/src/THcDetector.cxx b/src/THcDetector.cxx deleted file mode 100644 index 546a2c3970c2217ccb13622c999253997f7ca714..0000000000000000000000000000000000000000 --- a/src/THcDetector.cxx +++ /dev/null @@ -1,67 +0,0 @@ -//*-- Author : Ole Hansen 15-May-00 - -////////////////////////////////////////////////////////////////////////// -// -// THcDetector -// -////////////////////////////////////////////////////////////////////////// - -#include "THcDetector.h" -#include "THaApparatus.h" - -ClassImp(THcDetector) - -//_____________________________________________________________________________ -THcDetector::THcDetector( const char* name, const char* description, - THaApparatus* apparatus ) - : THcDetectorBase(name,description), fApparatus(apparatus) -{ - // Constructor - - if( !name || !*name ) { - Error( "THcDetector()", "Must construct detector with valid name! " - "Object construction failed." ); - MakeZombie(); - return; - } -} - -//_____________________________________________________________________________ -THcDetector::THcDetector( ) : fApparatus(0) { - // for ROOT I/O only -} - -//_____________________________________________________________________________ -THcDetector::~THcDetector() -{ - // Destructor -} - -//_____________________________________________________________________________ -void THcDetector::SetApparatus( THaApparatus* apparatus ) -{ - // Associate this detector with the given apparatus. - // Only possible before initialization. - - if( IsInit() ) { - Warning( Here("SetApparatus()"), "Cannot set apparatus. " - "Object already initialized."); - return; - } - fApparatus = apparatus; -} - -//_____________________________________________________________________________ -void THcDetector::MakePrefix() -{ - // Set up name prefix for global variables. Internal function called - // during initialization. - - const char* basename = NULL; - THaApparatus *app = GetApparatus(); - if( app ) - basename = app->GetName(); - THcDetectorBase::MakePrefix( basename ); - -} - diff --git a/src/THcDetector.h b/src/THcDetector.h deleted file mode 100644 index d048ebdffc1aa4132cecfafd5b4dde393fd5aca9..0000000000000000000000000000000000000000 --- a/src/THcDetector.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef ROOT_THcDetector -#define ROOT_THcDetector - -////////////////////////////////////////////////////////////////////////// -// -// THcDetector -// -// Abstract base class for a generic Hall C detector. This class -// describes an actual detector (not subdetector) and can be added to -// an apparatus. -// -////////////////////////////////////////////////////////////////////////// - -#include "THcDetectorBase.h" -#include <TRef.h> -#include "THaApparatus.h" - -//class THaApparatus; - -class THcDetector : public THcDetectorBase { - -public: - virtual ~THcDetector(); - THaApparatus* GetApparatus() const { - return static_cast<THaApparatus*>(fApparatus.GetObject()); - } - - virtual void SetApparatus( THaApparatus* ); - - THcDetector(); // for ROOT I/O only - -protected: - - virtual void MakePrefix(); - - //Only derived classes may construct me - THcDetector( const char* name, const char* description, - THaApparatus* apparatus = NULL ); - -private: - TRef fApparatus; // Apparatus containing this detector - - ClassDef(THcDetector,0) //Abstract base class for a Hall C detector -}; - -#endif diff --git a/src/THcDetectorBase.cxx b/src/THcHitList.cxx similarity index 100% rename from src/THcDetectorBase.cxx rename to src/THcHitList.cxx diff --git a/src/THcDetectorBase.h b/src/THcHitList.h similarity index 100% rename from src/THcDetectorBase.h rename to src/THcHitList.h diff --git a/src/THcNonTrackingDetector.cxx b/src/THcNonTrackingDetector.cxx deleted file mode 100644 index dd0cc66d93b4492ca5de14913e1f43fcd01d9bea..0000000000000000000000000000000000000000 --- a/src/THcNonTrackingDetector.cxx +++ /dev/null @@ -1,37 +0,0 @@ -//*-- Author : Ole Hansen 7-Sep-00 - -////////////////////////////////////////////////////////////////////////// -// -// THcNonTrackingDetector -// -////////////////////////////////////////////////////////////////////////// - -#include "THcNonTrackingDetector.h" - -ClassImp(THcNonTrackingDetector) - -//______________________________________________________________________________ -THcNonTrackingDetector::THcNonTrackingDetector( const char* name, - const char* description, - THaApparatus* apparatus ) - : THcSpectrometerDetector(name,description,apparatus) -{ - // Normal constructor with name and description - -} - -//______________________________________________________________________________ -THcNonTrackingDetector::THcNonTrackingDetector( ) - : THcSpectrometerDetector( ) -{ - // for ROOT I/O only - -} - -//______________________________________________________________________________ -THcNonTrackingDetector::~THcNonTrackingDetector() -{ - // Destructor - -} - diff --git a/src/THcNonTrackingDetector.h b/src/THcNonTrackingDetector.h deleted file mode 100644 index 25b129d234abc64acd0fabd9175931ab1995ca5c..0000000000000000000000000000000000000000 --- a/src/THcNonTrackingDetector.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef ROOT_THcNonTrackingDetector -#define ROOT_THcNonTrackingDetector - -////////////////////////////////////////////////////////////////////////// -// -// THcNonTrackingDetector.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 "THcSpectrometerDetector.h" - -class TClonesArray; - -class THcNonTrackingDetector : public THcSpectrometerDetector { - -public: - THcNonTrackingDetector(); // only for ROOT I/O - - virtual ~THcNonTrackingDetector(); - - 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 - - THcNonTrackingDetector( const char* name, const char* description, - THaApparatus* a = NULL); - - ClassDef(THcNonTrackingDetector,0) //ABC for a non-tracking spectrometer detector -}; - -#endif diff --git a/src/THcSpectrometerDetector.cxx b/src/THcSpectrometerDetector.cxx deleted file mode 100644 index c21122a2bce911beb2975047ec77517296d7c134..0000000000000000000000000000000000000000 --- a/src/THcSpectrometerDetector.cxx +++ /dev/null @@ -1,96 +0,0 @@ -//*-- Author : Ole Hansen 7-Sep-00 - -////////////////////////////////////////////////////////////////////////// -// -// THcSpectrometerDetector -// -////////////////////////////////////////////////////////////////////////// - -#include "THcSpectrometerDetector.h" -#include "THaTrack.h" -#include "TMath.h" - -ClassImp(THcSpectrometerDetector) - -//______________________________________________________________________________ -THcSpectrometerDetector::THcSpectrometerDetector( const char* name, - const char* description, - THaApparatus* apparatus ) - : THcDetector(name,description,apparatus) -{ - // Constructor - -} - -//______________________________________________________________________________ -THcSpectrometerDetector::THcSpectrometerDetector( ) -{ - // Constructor for ROOT I/O only -} - -//______________________________________________________________________________ -THcSpectrometerDetector::~THcSpectrometerDetector() -{ - // Destructor - -} - -//_____________________________________________________________________________ -void THcSpectrometerDetector::DefineAxes(Double_t rotation_angle) -{ - // define variables used for calculating intercepts of tracks - // with the detector - // right now, we assume that all detectors except VDCs are - // perpendicular to the Transport frame - - fXax.SetXYZ( TMath::Cos(rotation_angle), 0.0, TMath::Sin(rotation_angle) ); - fYax.SetXYZ( 0.0, 1.0, 0.0 ); - fZax = fXax.Cross(fYax); - -} - -//_____________________________________________________________________________ -bool THcSpectrometerDetector::CalcTrackIntercept(THaTrack* theTrack, - Double_t& t, Double_t& xcross, - Double_t& ycross) -{ - // projects a given track on to the plane of the detector - // xcross and ycross are the x and y coords of this intersection - // t is the distance from the origin of the track to the given plane. - // - // If a hit is NOT found, then t, xcross, and ycross are unchanged. - TVector3 t0( theTrack->GetX(), theTrack->GetY(), 0.0 ); - Double_t norm = TMath::Sqrt(1.0 + theTrack->GetTheta()*theTrack->GetTheta() + - theTrack->GetPhi()*theTrack->GetPhi()); - TVector3 t_hat( theTrack->GetTheta()/norm, theTrack->GetPhi()/norm, 1.0/norm ); - - TVector3 v; - if( !IntersectPlaneWithRay( fXax, fYax, fOrigin, t0, t_hat, t, v )) - return false; - v -= fOrigin; - xcross = v.Dot(fXax); - ycross = v.Dot(fYax); - - return true; -} - -//_____________________________________________________________________________ -bool THcSpectrometerDetector::CheckIntercept(THaTrack *track) -{ - Double_t x, y, t; - return CalcTrackIntercept(track, t, x, y); -} - -//_____________________________________________________________________________ -bool THcSpectrometerDetector::CalcInterceptCoords(THaTrack* track, Double_t& x, Double_t& y) -{ - Double_t t; - return CalcTrackIntercept(track, t, x, y); -} - -//_____________________________________________________________________________ -bool THcSpectrometerDetector::CalcPathLen(THaTrack* track, Double_t& t) -{ - Double_t x, y; - return CalcTrackIntercept(track, t, x, y); -} diff --git a/src/THcSpectrometerDetector.h b/src/THcSpectrometerDetector.h deleted file mode 100644 index ac909dd6b2e0160caec7da0be62837db82245b10..0000000000000000000000000000000000000000 --- a/src/THcSpectrometerDetector.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef ROOT_THcSpectrometerDetector -#define ROOT_THcSpectrometerDetector - -////////////////////////////////////////////////////////////////////////// -// -// THcSpectrometerDetector -// -// Abstract base class for a generic spectrometer detector. -// -// This is a specialized detector class that supports the concept of -// "tracking" and "PID" detectors. -// -////////////////////////////////////////////////////////////////////////// - -#include "THcDetector.h" - -class THaTrack; - -class THcSpectrometerDetector : public THcDetector { - -public: - virtual ~THcSpectrometerDetector(); - - virtual Bool_t IsTracking() = 0; - virtual Bool_t IsPid() = 0; - - bool CheckIntercept( THaTrack* track ); - bool CalcInterceptCoords( THaTrack* track, - Double_t& x, Double_t& y ); - bool CalcPathLen( THaTrack* track, Double_t& t ); - - THcSpectrometerDetector(); // for ROOT I/O only - -protected: - - // Geometry data - TVector3 fXax; // X axis of the detector plane - TVector3 fYax; // Y axis of the detector plane - TVector3 fZax; // Normal to the detector plane - - virtual void DefineAxes( Double_t rotation_angle ); - - bool CalcTrackIntercept( THaTrack* track, Double_t& t, - Double_t& ycross, Double_t& xcross); - - //Only derived classes may construct me - THcSpectrometerDetector( const char* name, const char* description, - THaApparatus* a = NULL ); - - ClassDef(THcSpectrometerDetector,0) //ABC for a spectrometer detector -}; - -#endif