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 //______________________________________________________________________________
14 class 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 //______________________________________________________________________________
49 class EdbBrickGen : public TObject {
50 
51  private:
52 
55 
56  public:
57  EdbBrickGen();
58  ~EdbBrickGen();
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  );
69  void GenerateOperaBrick( EdbBrickP &br,
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
EdbBrickGen()
Definition: EdbBrickGen.cxx:70
EdbBrickP * Brick() const
Definition: EdbBrickGen.h:60
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:37
Definition: EdbLayer.h:40
Definition: EdbPVGen.h:18
Definition: EdbPattern.h:348
Definition: EdbPattern.h:118
float mass
Definition: check_vertex.C:21
p
Definition: testBGReduction_AllMethods.C:8