]>
Commit | Line | Data |
---|---|---|
1 | #ifndef THBTPROCESSOR_H | |
2 | #define THBTPROCESSOR_H | |
3 | ||
4 | #include <TGenerator.h> | |
5 | #include "HBTprocCOMMON.h" | |
6 | ||
7 | ||
8 | /************************************************************** | |
9 | COMMENTS APROPOS HBTPROCESSOR FORTRAN CODE: | |
10 | ||
11 | SUBROUTINE INITIALIZE HAS TO BE OMITTED, IT RESETS (ZEROES) COMMON BLOCKS | |
12 | ||
13 | SUBROUTINE KINEMATICS HAS TO BE RENAMED EITHER IN MEVSIM OR IN PROCESSOR | |
14 | AS THEY HAVE IDETICAL DECLARATIONS AND SOMTIMES IS USED THE BAD ONE IN CASE BOTH LIBRARIES ARE LOADED | |
15 | ||
16 | ||
17 | ||
18 | ||
19 | ***************************************************************/ | |
20 | class THBTprocessor: public TGenerator | |
21 | { | |
22 | public: | |
23 | THBTprocessor(); | |
24 | virtual ~THBTprocessor() {}; | |
25 | ||
26 | virtual void Initialize(); | |
27 | virtual void GenerateEvent(); | |
28 | virtual void PrintEvent(); | |
29 | virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option=""); | |
30 | ||
31 | //Set/Gets | |
32 | ||
33 | virtual void SetTrackRejectionFactor(Float_t trf = 1.0) {PARAMETERS.trk_accep = trf;} | |
34 | virtual void SetRefControl(Int_t rc =2) {PARAMETERS.ref_control = rc;} | |
35 | virtual void SetPIDs(Int_t pid1 = 8,Int_t pid2 = 9) {PARAMETERS.pid[0]=pid1; PARAMETERS.pid[1]=pid2;} | |
36 | virtual void SetNPIDtypes(Int_t npidt = 2){PARAMETERS.n_pid_types = npidt;} | |
37 | virtual void SetDeltap(Float_t deltp = 0.1) {PARAMETERS.deltap=deltp; } | |
38 | virtual void SetMaxIterations(Int_t maxiter = 50) {PARAMETERS.maxit = maxiter;} | |
39 | virtual void SetDelChi(Float_t dc = 0.1){PARAMETERS.delchi = dc;} | |
40 | virtual void SetIRand(Int_t irnd = 76564) {PARAMETERS.irand = irnd;} | |
41 | virtual void SetLambda(Float_t lam = 0.6) { PARAMETERS.lambda = lam;} | |
42 | virtual void SetR1d(Float_t r = 7.0) {PARAMETERS.R_1d=r;} | |
43 | virtual void SetRSide(Float_t rs = 6.0) {PARAMETERS.Rside=rs;} | |
44 | virtual void SetROut(Float_t ro = 7.0) {PARAMETERS.Rout=ro;} | |
45 | virtual void SetRLong(Float_t rl = 4.0) {PARAMETERS.Rlong=rl;} | |
46 | virtual void SetRPerp(Float_t rp = 6.0) {PARAMETERS.Rperp=rp;} | |
47 | virtual void SetRParallel(Float_t rprl = 4.0) {PARAMETERS.Rparallel=rprl;} | |
48 | virtual void SetR0(Float_t r0 = 4.0) {PARAMETERS.R0=r0;} | |
49 | virtual void SetQ0(Float_t q0 = 9.0) {PARAMETERS.Q0=q0;} | |
50 | virtual void SetSwitch1D(Int_t s1d = 3) {PARAMETERS.switch_1d = s1d;} | |
51 | virtual void SetSwitch3D(Int_t s3d = 0) {PARAMETERS.switch_3d = s3d;} | |
52 | virtual void SetSwitchType(Int_t st = 3) {PARAMETERS.switch_type = st;} | |
53 | virtual void SetSwitchCoherence(Int_t sc = 0) {PARAMETERS.switch_coherence = sc;} | |
54 | virtual void SetSwitchCoulomb(Int_t scol = 2) {PARAMETERS.switch_coulomb = scol;} | |
55 | virtual void SetSwitchFermiBose(Int_t sfb = 1) {PARAMETERS.switch_fermi_bose = sfb;} | |
56 | ||
57 | ||
58 | virtual void SetPtRange(Float_t ptmin = 0.1, Float_t ptmax = 0.98) //Pt in GeV/c | |
59 | { MESH.pt_min=ptmin;MESH.pt_max=ptmax;} | |
60 | ||
61 | virtual void SetPxRange(Float_t pxmin = -1.0, Float_t pxmax = 1.0) | |
62 | { MESH.px_min=pxmin;MESH.px_max=pxmax;} | |
63 | ||
64 | virtual void SetPyRange(Float_t pymin = -1.0, Float_t pymax = 1.0) | |
65 | { MESH.py_min=pymin;MESH.py_max=pymax;} | |
66 | ||
67 | virtual void SetPzRange(Float_t pzmin = -3.6, Float_t pzmax = 3.6) | |
68 | { MESH.pz_min=pzmin;MESH.pz_max=pzmax;} | |
69 | ||
70 | ||
71 | virtual void SetPhiRange(Float_t phimin = 0.0, Float_t phimax = 360.0) //Angle in degrees | |
72 | { MESH.phi_min=phimin;MESH.phi_max=phimax;} | |
73 | ||
74 | virtual void SetEtaRange(Float_t etamin = -1.5, Float_t etamax = 1.5) //Pseudorapidity !!!!!!!!! | |
75 | { MESH.eta_min=etamin;MESH.eta_max=etamax;} | |
76 | ||
77 | virtual void SetNPtBins(Int_t nptbin = 50){MESH.n_pt_bins=nptbin;} | |
78 | virtual void SetNPhiBins(Int_t nphibin = 50){MESH.n_phi_bins=nphibin;} | |
79 | virtual void SetNEtaBins(Int_t netabin = 50){MESH.n_eta_bins=netabin;} | |
80 | ||
81 | virtual void SetNPxBins(Int_t npxbin = 20){MESH.n_px_bins=npxbin;} | |
82 | virtual void SetNPyBins(Int_t npybin = 20){MESH.n_py_bins=npybin;} | |
83 | virtual void SetNPzBins(Int_t npzbin = 70){MESH.n_pz_bins=npzbin;} | |
84 | ||
85 | virtual void SetNBins1DFineMesh(Int_t n = 10){ MESH.n_1d_fine=n;} | |
86 | virtual void SetBinSize1DFineMesh(Float_t x=0.01){MESH.binsize_1d_fine=x;} | |
87 | ||
88 | virtual void SetNBins1DCoarseMesh(Int_t n =2 ){MESH.n_1d_coarse =n;} | |
89 | virtual void SetBinSize1DCoarseMesh(Float_t x=0.05){MESH.binsize_1d_coarse=x;} | |
90 | ||
91 | virtual void SetNBins3DFineMesh(Int_t n = 8){MESH.n_3d_fine =n;} | |
92 | virtual void SetBinSize3DFineMesh(Float_t x=0.01){MESH.binsize_3d_fine=x;} | |
93 | ||
94 | virtual void SetNBins3DCoarseMesh(Int_t n = 2){ MESH.n_3d_coarse=n;} | |
95 | virtual void SetBinSize3DCoarseMesh(Float_t x=0.08){MESH.binsize_3d_coarse=x;} | |
96 | ||
97 | virtual void SetNBins3DFineProjectMesh(Int_t n =3 ){ MESH.n_3d_fine_project=n;} | |
98 | ||
99 | ||
100 | protected: | |
101 | ||
102 | private: | |
103 | ClassDef(THBTprocessor,0) | |
104 | }; | |
105 | ||
106 | #endif |