FEDRA emulsion software from the OPERA Collaboration
EdbBrickGen.h
Go to the documentation of this file.
1#ifndef ROOT_EdbBrickGen
2#define ROOT_EdbBrickGen
3
5// //
6// EdbBrickGen - OPERA Brick simulation //
7// //
9
10#include "EdbBrick.h"
11#include "EdbPVGen.h"
12
13//______________________________________________________________________________
14class EdbBeamGen : public TObject {
15
16 public:
17
18 Float_t eMass; // particle mass to be generated
19 EdbLayer *eLimits; // tracks will be generated inside this limits
20
21 Float_t eX0, eSigmaX; // position Gaus
22 Float_t eY0, eSigmaY;
23 Float_t eZ0, eSigmaZ;
24
25 Float_t eTX0, eSigmaTX; // angular Gaus
26 Float_t eTY0, eSigmaTY;
27
28 Float_t eP0, eSigmaP; // momentum smearing
29
30 public:
33
34 void SetPositionGaus(float x0, float sx, float y0, float sy, float z0=0, float sz=0)
35 { eX0=x0; eSigmaX=sx; eY0=y0; eSigmaY=sy; eZ0=z0; eSigmaZ=sz; }
36 void SetAngularGaus(float tx0, float stx, float ty0, float sty)
37 { eTX0=tx0; eSigmaTX=stx; eTY0=ty0; eSigmaTY=sty; }
38
39 void SetM(float mass) { eMass=mass;}
40 void SetP(float p, float sp=0) { eP0=p; eSigmaP=sp; }
41
42 EdbTrackP *NextTrack(int id=0);
43
44 ClassDef(EdbBeamGen,1) // Beam Generator
45};
46
47
48//______________________________________________________________________________
49class EdbBrickGen : public TObject {
50
51 private:
52
55
56 public:
59
60 EdbBrickP *Brick() const {return eBrick;}
61 EdbPVGen *PVG() const {return ePVG; }
62
63 void Generate();
64 void GenerateOperaBrick( int npl=58,
65 float dx=60000., float dy=50000.,
66 float x0=0., float y0=0., float z0=0.,
67 float zbase=210., float zu=45., float zd=45., float zspacer=1000.
68 );
70 int npl,
71 float dx, float dy,
72 float x0, float y0, float z0,
73 float zbase, float zu, float zd, float zspacer
74 );
75
78
79 void Print();
80
81 ClassDef(EdbBrickGen,1) // OPERA simulation
82};
83
84#endif /* ROOT_EdbBrickGen */
brick z0
Definition: RecDispMC.C:106
Definition: EdbBrickGen.h:14
Float_t eTX0
Definition: EdbBrickGen.h:25
Float_t eSigmaP
Definition: EdbBrickGen.h:28
Float_t eMass
Definition: EdbBrickGen.h:18
Float_t eP0
Definition: EdbBrickGen.h:28
void SetM(float mass)
Definition: EdbBrickGen.h:39
Float_t eTY0
Definition: EdbBrickGen.h:26
void SetAngularGaus(float tx0, float stx, float ty0, float sty)
Definition: EdbBrickGen.h:36
Float_t eSigmaTX
Definition: EdbBrickGen.h:25
Float_t eZ0
Definition: EdbBrickGen.h:23
Float_t eSigmaZ
Definition: EdbBrickGen.h:23
~EdbBeamGen()
Definition: EdbBrickGen.h:32
void SetP(float p, float sp=0)
Definition: EdbBrickGen.h:40
Float_t eSigmaTY
Definition: EdbBrickGen.h:26
Float_t eX0
Definition: EdbBrickGen.h:21
void SetPositionGaus(float x0, float sx, float y0, float sy, float z0=0, float sz=0)
Definition: EdbBrickGen.h:34
Float_t eY0
Definition: EdbBrickGen.h:22
Float_t eSigmaY
Definition: EdbBrickGen.h:22
Float_t eSigmaX
Definition: EdbBrickGen.h:21
EdbLayer * eLimits
Definition: EdbBrickGen.h:19
EdbTrackP * NextTrack(int id=0)
Definition: EdbBrickGen.cxx:32
Definition: EdbBrickGen.h:49
void Generate()
Definition: EdbBrickGen.cxx:84
EdbBrickP * Brick() const
Definition: EdbBrickGen.h:60
EdbBrickGen()
Definition: EdbBrickGen.cxx:70
void GeneratePatternsVolumeBT(EdbPatternsVolume &v)
Definition: EdbBrickGen.cxx:152
void GenerateOperaBrick(int npl=58, float dx=60000., float dy=50000., float x0=0., float y0=0., float z0=0., float zbase=210., float zu=45., float zd=45., float zspacer=1000.)
Definition: EdbBrickGen.cxx:98
EdbPVGen * ePVG
Definition: EdbBrickGen.h:54
void Print()
Definition: EdbBrickGen.cxx:91
EdbBrickP * eBrick
Definition: EdbBrickGen.h:53
~EdbBrickGen()
Definition: EdbBrickGen.cxx:77
EdbPVGen * PVG() const
Definition: EdbBrickGen.h:61
Definition: EdbBrick.h:38
Definition: EdbLayer.h:39
Definition: EdbPVGen.h:18
Definition: EdbPattern.h:334
Definition: EdbPattern.h:113
float mass
Definition: check_vertex.C:21
p
Definition: testBGReduction_AllMethods.C:8