#ifndef ROOT_THaScintillator
#define ROOT_THaScintillator
#include "TClonesArray.h"
#include "THaNonTrackingDetector.h"
class THaScCalib;
class THaScintillator : public THaNonTrackingDetector {
public:
THaScintillator( const char* name, const char* description = "",
THaApparatus* a = NULL );
virtual ~THaScintillator();
virtual Int_t Decode( const THaEvData& );
virtual EStatus Init( const TDatime& run_time );
virtual Int_t CoarseProcess( TClonesArray& tracks );
virtual Int_t FineProcess( TClonesArray& tracks );
virtual Int_t ApplyCorrections( void );
Int_t GetNHits() const { return fNhit; }
const Double_t* GetTimes() const { return fTime; }
const Double_t* GetTuncer() const { return fdTime; }
const Double_t* GetAmplitudes() const { return fAmpl; }
const Double_t* GetYtime() const { return fYt; }
const Double_t* GetYampl() const { return fYa; }
Int_t GetNTracks() const { return fTrackProj->GetLast()+1; }
const TClonesArray* GetTrackHits() const { return fTrackProj; }
friend class THaScCalib;
THaScintillator();
protected:
Double_t* fLOff;
Double_t* fROff;
Double_t* fLPed;
Double_t* fRPed;
Double_t* fLGain;
Double_t* fRGain;
Double_t fTdc2T;
Double_t fCn;
Int_t fNTWalkPar;
Double_t* fTWalkPar;
Double_t fAdcMIP;
Double_t* fTrigOff;
Double_t fAttenuation;
Double_t fResolution;
Int_t fLTNhit;
Double_t* fLT;
Double_t* fLT_c;
Int_t fRTNhit;
Double_t* fRT;
Double_t* fRT_c;
Int_t fLANhit;
Double_t* fLA;
Double_t* fLA_p;
Double_t* fLA_c;
Int_t fRANhit;
Double_t* fRA;
Double_t* fRA_p;
Double_t* fRA_c;
Int_t fNhit;
Int_t* fHitPad;
Double_t* fTime;
Double_t* fdTime;
Double_t* fAmpl;
Double_t* fYt;
Double_t* fYa;
TClonesArray* fTrackProj;
double tan_angle, sin_angle, cos_angle;
static const char NDEST = 2;
struct DataDest {
Int_t* nthit;
Int_t* nahit;
Double_t* tdc;
Double_t* tdc_c;
Double_t* adc;
Double_t* adc_p;
Double_t* adc_c;
Double_t* offset;
Double_t* ped;
Double_t* gain;
} fDataDest[NDEST];
void ClearEvent();
void DeleteArrays();
virtual Int_t ReadDatabase( const TDatime& date );
virtual Int_t DefineVariables( EMode mode = kDefine );
enum ESide { kLeft = 0, kRight = 1 };
virtual Double_t TimeWalkCorrection(const Int_t& paddle,
const ESide side);
ClassDef(THaScintillator,1)
};
#endif
Last change: Sat Nov 7 21:26:51 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.