#ifndef ROOT_THaTriggerPlane
#define ROOT_THaTriggerPlane
#include "THaNonTrackingDetector.h"
#include "TClonesArray.h"
#ifdef DEBUG_LEVEL
# undef DEBUG_LEVEL
#endif
#define DEBUG_LEVEL 2
#include "DebugDef.h"
#define MATCHING_HITS_E_PLANE_PRIORITY 0
#define PROCESS_PARTIAL_HIT 1
#if PROCESS_PARTIAL_HIT
# define EXPORT_PARTIAL_HIT 1
#endif
class THaScintPlane;
class THaScintPMT;
class THaScintHit;
class THaScintBar;
class THaTriggerPlaneHit;
class THaTriggerPlane : public THaNonTrackingDetector {
public:
virtual ~THaTriggerPlane();
THaTriggerPlane( const char* name, const char* description, THaApparatus* a = NULL );
Int_t Decode( const THaEvData& );
EStatus Init( const TDatime& run_time);
THaScintPlane* GetEPlane() const { return fEplane; }
THaScintPlane* GetdEPlane() const { return fdEplane; }
Double_t GetHitAcceptanceDx() const { return fHitAcceptanceDx; }
Double_t GetHitAcceptanceDy() const { return fHitAcceptanceDy; }
Double_t GetHitAcceptanceDz() const { return fHitAcceptanceDz; }
Double_t GetHitAcceptanceMinDt() const { return fHitAcceptanceMinDt; }
Double_t GetHitAcceptanceMaxDt() const { return fHitAcceptanceMaxDt; }
Int_t GetNHits() const { return fHits->GetLast()+1; }
TClonesArray* GetHits() const {return fHits;}
THaTriggerPlaneHit* GetHit(Int_t i) const {return (THaTriggerPlaneHit*)fHits->At(i);}
Int_t GetNPartialHits() const { return fPartialHits->GetLast()+1; }
TClonesArray* GetPartialHits() const {return fPartialHits;}
THaTriggerPlaneHit* GetPartialHit(Int_t i) const {return (THaTriggerPlaneHit*)fPartialHits->At(i);}
const TClonesArray* GetTrackHits() const { return fTrackProj; }
Int_t GetNTracks() const { return fTrackProj->GetLast()+1; }
Double_t GetMatchRatioE() const {return fMatchRatioE;}
Double_t GetMatchRatiodE() const {return fMatchRatiodE;}
Double_t GetMatchRatioTrack() const {return fMatchRatioTrack;}
void SetApparatus( THaApparatus* );
virtual Int_t CoarseProcess( TClonesArray& tracks );
virtual Int_t FineProcess( TClonesArray& tracks );
virtual Int_t CoarseMatchingHits();
virtual Int_t FineMatchingHits(TClonesArray& tracks);
protected:
TClonesArray* fHits;
TClonesArray* fPartialHits;
TClonesArray* fTrackProj;
Double_t fMatchRatioE, fMatchRatiodE, fMatchRatioTrack;
THaScintPlane* fEplane;
THaScintPlane* fdEplane;
Double_t fHitAcceptanceDx;
Double_t fHitAcceptanceDy;
Double_t fHitAcceptanceDz;
Double_t fHitAcceptanceMinDt;
Double_t fHitAcceptanceMaxDt;
Double_t fTrackAcceptanceDx;
Double_t fTrackAcceptanceDy;
THaTriggerPlane& operator=( const THaTriggerPlane& ) {return *this; }
virtual Int_t DefineVariables( EMode mode = kDefine );
virtual Int_t ReadDatabase( const TDatime& date );
char* ReadNumberSignStartComment( FILE* fp, char *buf, const int len );
private:
void Setup( const char* name, const char* desc,
const char* enam, const char* denam,
bool mode );
ClassDef(THaTriggerPlane,1)
};
#endif
Last update: Tue Jul 7 19:26:18 2009
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.