Hall C ROOT/C++ Analyzer (hcana)
Loading...
Searching...
No Matches
THcHelicity.h
Go to the documentation of this file.
1#ifndef Podd_THcHelicity_h_
2#define Podd_THcHelicity_h_
3
5//
6// THcHelicity
7//
8// Helicity of the beam - from QWEAK electronics in delayed mode
9//
11
12#include "THaHelicityDet.h"
13#include "THcHelicityReader.h"
14
15class TH1F;
17
19
20public:
21
22 THcHelicity( const char* name, const char* description,
23 THaApparatus* a = NULL );
25 virtual ~THcHelicity();
26
27 virtual EStatus Init(const TDatime& date);
28 virtual void MakePrefix();
29
30 virtual Int_t Begin( THaRunBase* r=0 );
31 virtual void Clear( Option_t* opt = "" );
32 virtual Int_t Decode( const THaEvData& evdata );
33 virtual Int_t End( THaRunBase* r=0 );
34 virtual void SetDebug( Int_t level );
36
37 void PrintEvent(Int_t evtnum);
38
39protected:
40 void Setup(const char* name, const char* description);
41 std::string fKwPrefix;
42
43 void FillHisto();
44 void LoadHelicity(Int_t reportedhelicity, Int_t cyclecount, Int_t missedcycles);
45 Int_t RanBit30(Int_t ranseed);
46 Int_t GetSeed30(Int_t currentseed);
47
48 // Fixed Parameters
54
55 Double_t fTIPeriod; // Reversal period in TI time units
56
60
73 Bool_t fFoundQuartet; // True if quartet phase probably found.
75 Int_t fNCycle; // Count of # of helicity cycles
76 Int_t fNQuartet; // Quartet count
78 Int_t fQuartet[4]; // For finding and checking quartet pattern
80 Int_t fnQrt; // Position in quartet
81 Bool_t fHaveQRT; // QRT signal exists
83
86
87
88 // Offset between the ring reported value and the reported value
90 // delay of helicity (# windows)
92 //number of bit in the pseudo random helcity generator
93 std::vector<Int_t> fPatternSequence; // sequence of 0 and 1 in the pattern
94 Int_t fQWEAKNPattern; // maximum of event in the pattern
96
97
99
100 void SetErrorCode(Int_t error);
102
103 Int_t fEvtype; // Current CODA event type
107
108 static const Int_t NHIST = 2;
110
111 virtual Int_t DefineVariables( EMode mode = kDefine );
112 virtual Int_t ReadDatabase( const TDatime& date );
113
127
128 ClassDef(THcHelicity,0) // Beam helicity from QWEAK electronics in delayed mode
129
130};
131
132#endif
133
int Int_t
ROOT::R::TRInterface & r
#define f(i)
bool Bool_t
double Double_t
const char Option_t
#define ClassDef(name, id)
Int_t fQWEAKNPattern
Definition THcHelicity.h:94
Long64_t fLastEvTime
Definition THcHelicity.h:64
THcHelicityScaler * fglHelicityScaler
Int_t fLastHelpCycle
virtual Int_t DefineVariables(EMode mode=kDefine)
Int_t fQuartet[4]
Definition THcHelicity.h:78
Int_t fScalerSeed
void SetErrorCode(Int_t error)
Bool_t fIsNewCycle
Definition THcHelicity.h:74
Int_t fNCycle
Definition THcHelicity.h:75
TH1F * fHisto[NHIST]
Bool_t fFoundQuartet
Definition THcHelicity.h:73
virtual Int_t Decode(const THaEvData &evdata)
Int_t fRingSeed_reported_initial
Definition THcHelicity.h:49
std::string fKwPrefix
Definition THcHelicity.h:41
Int_t fLastReportedHelicity
Definition THcHelicity.h:62
Int_t fLastActualHelicity
Int_t fRingSeed_actual
Definition THcHelicity.h:85
Int_t fReportedHelicity
Definition THcHelicity.h:66
Int_t lastispos
virtual void SetDebug(Int_t level)
Int_t fThisScaleHel
Bool_t fFixFirstCycle
Definition THcHelicity.h:51
Int_t fQuadPattern[8]
virtual Int_t ReadDatabase(const TDatime &date)
Int_t fActualHelicity
Definition THcHelicity.h:69
Int_t fScaleQuartet
Int_t fQuartetStartHelicity
Definition THcHelicity.h:70
virtual void MakePrefix()
void FillHisto()
Int_t fMAXBIT
Definition THcHelicity.h:91
std::vector< Int_t > fPatternSequence
Definition THcHelicity.h:93
void LoadHelicity(Int_t reportedhelicity, Int_t cyclecount, Int_t missedcycles)
Double_t fPeriodCheckOffset
Definition THcHelicity.h:58
Bool_t fFirstEvProcessed
Definition THcHelicity.h:61
Int_t fFirstCycle
Definition THcHelicity.h:50
Double_t fCycle
Definition THcHelicity.h:59
Int_t fPredictedHelicity
Definition THcHelicity.h:68
Bool_t HWPIN
Definition THcHelicity.h:95
Int_t RanBit30(Int_t ranseed)
Int_t fHelperHistory
virtual void SetHelicityScaler(THcHelicityScaler *f)
Int_t fNLastQuartet
Definition THcHelicity.h:77
Int_t fEvNumCheck
Bool_t fHaveQRT
Definition THcHelicity.h:81
Int_t fHelperQuartetHistory
Long64_t fFirstEvTime
Definition THcHelicity.h:63
Int_t fLastScaleHel
virtual ~THcHelicity()
Int_t fHelDelay
Definition THcHelicity.h:89
Int_t fNQuartet
Definition THcHelicity.h:76
Double_t fPeriodCheck
Definition THcHelicity.h:57
Long64_t fLastMPSTime
Definition THcHelicity.h:65
Bool_t fDisabled
Double_t fErrorCode
static const Int_t NHIST
Double_t fRecommendedFreq
Definition THcHelicity.h:53
Int_t * fHelicityHistory
Int_t fLastLastScaleHel
Double_t fTIPeriod
Definition THcHelicity.h:55
Int_t fRingSeed_reported
Definition THcHelicity.h:84
Int_t fNQRTProblems
Definition THcHelicity.h:82
Bool_t fFoundMPS
Definition THcHelicity.h:72
Double_t fFreq
Definition THcHelicity.h:52
Int_t fQuartetStartPredictedHelicity
Definition THcHelicity.h:71
virtual void Clear(Option_t *opt="")
Int_t GetSeed30(Int_t currentseed)
void Setup(const char *name, const char *description)
void PrintEvent(Int_t evtnum)
long long Long64_t
TArc a