Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaRunParameters.h
Go to the documentation of this file.
1#ifndef Podd_THaRunParameters_h_
2#define Podd_THaRunParameters_h_
3
5//
6// THaRunParameters
7//
9
10#include "TObject.h"
11#include "TString.h"
12#include "TArrayI.h"
13
14class TDatime;
15
16class THaRunParameters : public TObject {
17public:
19
20 virtual void Clear( Option_t* opt="" );
21 const char* GetBeamName() const { return fBeamName.Data(); }
22 Double_t GetBeamE() const { return fBeamE; }
23 Double_t GetBeamdE() const { return fBeamdE; }
24 Double_t GetBeamM() const { return fBeamM; }
25 Double_t GetBeamP() const { return fBeamP; }
26 Int_t GetBeamQ() const { return fBeamQ; }
27 Double_t GetBeamPol() const { return fBeamPol; }
28 const char* GetTgtName() const { return fTgtName.Data(); }
29 Double_t GetTgtM() const { return fTgtM; }
30 Double_t GetTgtPol() const { return fTgtPol; }
31 const char* GetRunName() const { return fRunName; }
32
33 virtual Bool_t IsFixedTarget() const { return true; }
34 Bool_t IsPolzarized() const { return fIsPol; }
35
36 virtual void Print( Option_t* opt="" ) const;
37 virtual Int_t ReadDatabase( const TDatime& date );
38
39 void SetBeam( Double_t E, Double_t M, Int_t Q, Double_t dE = 0.0 );
40 void SetTgtM( Double_t M ) { fTgtM = M; }
41 void SetPolarizations( Double_t pb, Double_t pt );
42
43 void SetBeamName( const char* name ) { fBeamName = name; }
44 void SetTgtName( const char* name ) { fTgtName = name; }
45 void SetRunName( const char* name ) { fRunName = name; }
46
47 const TArrayI& GetPrescales() const { return fPrescale; }
49
50protected:
51 // Beam parameters
52 TString fBeamName; // Description of beam particle
53 Double_t fBeamE; // Total nominal beam energy (GeV)
54 Double_t fBeamP; // Calculated beam momentum (GeV/c)
55 Double_t fBeamM; // Rest mass of beam particles (GeV/c^2)
56 Int_t fBeamQ; // Charge of beam particles (electron: -1)
57 Double_t fBeamdE; // Beam energy uncertainty (GeV)
58 Double_t fBeamPol; // Beam polarization
59
60 // Target parameters
61 TString fTgtName; // Description of target
62 Double_t fTgtM; // Target rest mass (GeV/c^2)
63 Double_t fTgtPol; // Target polarization
64 Bool_t fIsPol; // Flag for beam and/or target polarized
65
66 // DAQ parameters
67 TString fRunName; // Description of run type
68 TArrayI fPrescale; // Prescale factors
69
70 ClassDef(THaRunParameters,1) // Beam & fixed target run parameters
71};
72
73
74#endif
int Int_t
bool Bool_t
double Double_t
const char Option_t
#define ClassDef(name, id)
char name[80]
Double_t GetBeamP() const
Double_t GetBeamPol() const
TArrayI & Prescales()
void SetBeamName(const char *name)
Int_t GetBeamQ() const
void SetPolarizations(Double_t pb, Double_t pt)
void SetRunName(const char *name)
void SetBeam(Double_t E, Double_t M, Int_t Q, Double_t dE=0.0)
Double_t GetBeamdE() const
const TArrayI & GetPrescales() const
Double_t GetBeamM() const
virtual void Clear(Option_t *opt="")
Bool_t IsPolzarized() const
void SetTgtName(const char *name)
virtual Int_t ReadDatabase(const TDatime &date)
Double_t GetTgtM() const
const char * GetBeamName() const
Double_t GetBeamE() const
Double_t GetTgtPol() const
virtual Bool_t IsFixedTarget() const
const char * GetTgtName() const
const char * GetRunName() const
void SetTgtM(Double_t M)
virtual void Print(Option_t *opt="") const
const char * Data() const