Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaBPM.h
Go to the documentation of this file.
1#ifndef Podd_THaBPM_h_
2#define Podd_THaBPM_h_
3
5// //
6// THaBPM //
7// //
9
10#include "THaBeamDet.h"
11#include "TVectorT.h"
12#include "TMatrixD.h"
13
14class THaBPM : public THaBeamDet {
15
16public:
17 explicit THaBPM( const char* name, const char* description = "",
18 THaApparatus* a = nullptr );
19 THaBPM() : fCalibRot(0) {}
20 THaBPM( const THaBPM& ) = delete;
21 THaBPM& operator=( const THaBPM& ) = delete;
22 virtual ~THaBPM();
23
24 virtual void Clear( Option_t* ="" );
25 virtual Int_t Decode( const THaEvData& );
26 virtual Int_t Process();
27
28 virtual TVector3 GetPosition() const { return fPosition; }
29 virtual TVector3 GetDirection() const { return fDirection; }
30
35
36 Double_t GetRotPosX() {return fRotPos(0); }
37 Double_t GetRotPosY() {return fRotPos(1); }
38
39protected:
40
41 TVectorD fRawSignal; // induced signal of the antennas
43 TVectorD fCorSignal; // pedestal subtracted signal
44 TVectorD fRotPos; // position in the BPM system, arbitrary units
47 TVector3 fPosition; // Beam position at the BPM (meters)
48 TVector3 fDirection; // Beam direction at the BPM
49 // always points along z-axis
51
52 virtual Int_t ReadDatabase( const TDatime& date );
53 virtual Int_t DefineVariables( EMode mode = kDefine );
54
55 bool CheckHitInfo( const DigitizerHitInfo_t& hitinfo ) const;
56 virtual OptUInt_t LoadData( const THaEvData& evdata,
57 const DigitizerHitInfo_t& hitinfo );
58 virtual Int_t StoreHit( const DigitizerHitInfo_t& hitinfo, UInt_t data );
59
60 ClassDef(THaBPM,0) // Generic BPM class
61};
62
64
65#endif
#define kDefine
Definition BdataLoc.cxx:38
int Int_t
unsigned int UInt_t
double Double_t
const char Option_t
#define ClassDef(name, id)
char name[80]
virtual TVector3 GetPosition() const
Definition THaBPM.h:28
virtual TVector3 GetDirection() const
Definition THaBPM.h:29
virtual Int_t StoreHit(const DigitizerHitInfo_t &hitinfo, UInt_t data)
Definition THaBPM.cxx:184
virtual ~THaBPM()
Definition THaBPM.cxx:122
virtual Int_t Decode(const THaEvData &)
Definition THaBPM.cxx:144
virtual Int_t DefineVariables(EMode mode=kDefine)
Definition THaBPM.cxx:100
Double_t GetRotPosX()
Definition THaBPM.h:36
virtual Int_t Process()
Definition THaBPM.cxx:196
TVectorD fPedestals
Definition THaBPM.h:42
TVector3 fOffset
Definition THaBPM.h:46
Double_t GetRotPosY()
Definition THaBPM.h:37
Double_t GetRawSignal1()
Definition THaBPM.h:32
THaBPM()
Definition THaBPM.h:19
THaBPM(const THaBPM &)=delete
Double_t fCalibRot
Definition THaBPM.h:50
virtual Int_t ReadDatabase(const TDatime &date)
Definition THaBPM.cxx:38
Double_t GetRawSignal2()
Definition THaBPM.h:33
TVector3 fDirection
Definition THaBPM.h:48
TMatrixD fRot2HCSPos
Definition THaBPM.h:45
Double_t GetRawSignal0()
Definition THaBPM.h:31
TVector3 fPosition
Definition THaBPM.h:47
Double_t GetRawSignal3()
Definition THaBPM.h:34
TVectorD fRawSignal
Definition THaBPM.h:41
THaBPM & operator=(const THaBPM &)=delete
virtual void Clear(Option_t *="")
Definition THaBPM.cxx:130
TVectorD fCorSignal
Definition THaBPM.h:43
virtual OptUInt_t LoadData(const THaEvData &evdata, const DigitizerHitInfo_t &hitinfo)
Definition THaBPM.cxx:175
TVectorD fRotPos
Definition THaBPM.h:44
bool CheckHitInfo(const DigitizerHitInfo_t &hitinfo) const
Definition THaBPM.cxx:164
TArc a