#include <EdbViewGen.h>
◆ EdbViewGen() [1/2]
| EdbViewGen::EdbViewGen |
( |
| ) |
|
◆ EdbViewGen() [2/2]
void vd(const char *dsname, EdbVertexRec *evr)
Definition: emvtx.cpp:62
◆ ~EdbViewGen()
| EdbViewGen::~EdbViewGen |
( |
| ) |
|
|
inline |
◆ GenAlfaGrains()
| int EdbViewGen::GenAlfaGrains |
( |
| ) |
|
|
inline |
◆ GenDeltaGrains()
| int EdbViewGen::GenDeltaGrains |
( |
| ) |
|
|
inline |
◆ GenFogGrains()
| int EdbViewGen::GenFogGrains |
( |
int |
ngr, |
|
|
TObjArray & |
grains, |
|
|
int |
side = 0 |
|
) |
| |
Definition: EdbCluster.h:19
Float_t eYmin
Definition: EdbViewDef.h:21
Float_t eFogGrainArea
Definition: EdbViewDef.h:33
Float_t eXmax
Definition: EdbViewDef.h:20
Float_t eZmax
Definition: EdbViewDef.h:17
Float_t eZmin
Definition: EdbViewDef.h:17
Float_t eYmax
Definition: EdbViewDef.h:21
Float_t eXmin
Definition: EdbViewDef.h:20
grains()
Definition: grains.C:3
◆ GenFrames()
| int EdbViewGen::GenFrames |
( |
EdbView & |
v | ) |
|
Int_t eNframes
Definition: EdbViewDef.h:16
void AddFrame(int id, float z, int ncl=0, int npix=0)
Definition: EdbView.cxx:268
void SetNframes(int top, int bot)
Definition: EdbView.h:184
◆ GenGrainClusters()
90 if( g.
GetArea()==0 )
return ncl;
97 for(
int i=0; i<nfr; i++) {
99 if( TMath::Abs(z - g.
GetZ()) <
dz ) {
101 gRandom->Rannor(dx,dy);
brick dz
Definition: RecDispMC.C:107
virtual Float_t Y() const
Definition: EdbCluster.h:79
virtual Float_t X() const
Definition: EdbCluster.h:78
void SetFrame(int f)
Definition: EdbCluster.h:47
virtual void SetX(float x)
Definition: EdbCluster.h:81
virtual void SetY(float y)
Definition: EdbCluster.h:82
Float_t GetArea() const
Definition: EdbCluster.h:54
virtual void SetZ(float z)
Definition: EdbCluster.h:83
Float_t GetZ() const
Definition: EdbCluster.h:53
float GetZ() const
Definition: EdbFrame.h:42
Float_t eClaSX
Definition: EdbViewDef.h:28
Float_t eGrainSZ
Definition: EdbViewDef.h:30
Float_t eClaSY
Definition: EdbViewDef.h:28
EdbFrame * GetFrame(int i) const
Definition: EdbView.h:221
Int_t GetNframes() const
Definition: EdbView.h:206
EdbCluster * AddCluster(EdbCluster *c)
Definition: EdbView.h:225
◆ GenGrains()
| int EdbViewGen::GenGrains |
( |
EdbView & |
v | ) |
|
46 for(
int iseg=0; iseg<nseg; iseg++) {
49 printf(
"ngr = %d\n", ngr);
50 for(
int igr=0; igr<ngr; igr++)
grains.Add(
s->GetElements()->At(igr));
56 printf(
"ngrfog = %d\n", nfog);
61 printf(
"%d grains generated\n",ngr);
65 for(
int i=0; i<ngr; i++) {
69 printf(
"%d grains removed in dead layer\n",icrem);
71 for(
int i=0; i<ngr; i++) {
77 for(
int iseg=0; iseg<nseg; iseg++)
void SetArea(float a)
Definition: EdbCluster.h:45
Definition: EdbSegment.h:61
TObjArray * GetElements() const
Definition: EdbSegment.h:115
Float_t eFogDens
Definition: EdbViewDef.h:32
Float_t eDZdead
Definition: EdbViewDef.h:37
Float_t eZdead
Definition: EdbViewDef.h:36
int GenFogGrains(int ngr, TObjArray &grains, int side=0)
Definition: EdbViewGen.cxx:212
int GenSegGrains(EdbSegment &s)
Definition: EdbViewGen.cxx:115
int GenGrainClusters(EdbView &v, EdbCluster &g)
Definition: EdbViewGen.cxx:85
Int_t Nsegments() const
Definition: EdbView.h:216
EdbSegment * GetSegment(int i) const
Definition: EdbView.h:219
EdbSegP * s
Definition: tlg2pattern.C:32
◆ GenSegGrains()
122 using namespace TMath;
137 float dz =
s.GetDz();
139 float cs = Cos(ATan(Sqrt(
s.GetTx()*
s.GetTx()+
s.GetTy()*
s.GetTy())));
145 float lambda =
dz/
s.GetPuls();
147 for(
int i=0; i<nmax; i++ ) {
153 if( z > zmax )
break;
154 if( x <
eXmin )
continue;
155 if( x >
eXmax )
continue;
156 if( y <
eYmin )
continue;
157 if( y >
eYmax )
continue;
160 double sx,sy,sz,
r=gRandom->Gaus(0.,
eGrainSX);
161 gRandom->Sphere(sx,sy,sz,
r);
163 if(x<
eXmin)
continue;
164 if(x>
eXmax)
continue;
165 if(y<
eYmin)
continue;
166 if(y<
eYmin)
continue;
167 s.AddElement(
new EdbCluster( x+sx, y+sy, z+sz, area, 0, 0,
s.GetSide(),
s.GetID()) );
Float_t eGrainArea
Definition: EdbViewDef.h:34
Float_t eGrainSX
Definition: EdbViewDef.h:30
float GrainPathMip(float lambda=2.)
Definition: EdbViewGen.cxx:175
void r(int rid=2)
Definition: test.C:201
◆ GrainPathMip()
| float EdbViewGen::GrainPathMip |
( |
float |
lambda = 2. | ) |
|
199 double prob0 = 1./nstep;
200 float grsiz=gRandom->Uniform(0.9,1.1);
202 for(
int j=0; j<100000; j++) {
203 x+=gRandom->Exp(lambda/nstep);
204 if( x>grsiz&&gRandom->Rndm()<prob0 ) {
The documentation for this class was generated from the following files: