StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StFtpcSlowSimMaker
StFtpcSlowSimCluster.hh
1
// $Id: StFtpcSlowSimCluster.hh,v 1.4 2003/09/02 17:58:16 perev Exp $
2
// $Log: StFtpcSlowSimCluster.hh,v $
3
// Revision 1.4 2003/09/02 17:58:16 perev
4
// gcc 3.2 updates + WarnOff
5
//
6
// Revision 1.3 2002/06/07 09:55:41 fsimon
7
// Additional debug info to trace electron drift
8
//
9
// Revision 1.2 2001/03/06 23:35:58 jcs
10
// use database instead of params
11
//
12
// Revision 1.1 2000/11/23 10:16:43 hummler
13
// New FTPC slow simulator in pure maker form
14
//
15
//
17
// Author: W.G.Gong
18
// Email: gong@mppmu.mpg.de
19
// Date: Oct 25, 1996
21
#ifndef STAR_StFtpcSlowSimCluster
22
#define STAR_StFtpcSlowSimCluster
23
24
#include "math.h"
25
26
class
StFtpcSlowSimField
;
27
class
StFtpcParamReader
;
28
class
StFtpcDbReader
;
29
30
//
31
// class cluster will diffuse and drift a cluster of electrons
32
// generated by ionization
33
//
34
class
StFtpcSlowSimCluster
35
{
36
public
:
37
38
StFtpcSlowSimCluster
(
StFtpcParamReader
*paramReader,
39
StFtpcDbReader
*dbReader,
40
StFtpcSlowSimField
*field,
41
const
float
el,
const
float
rad_offset,
42
const
float
pad_offset,
const
float
r,
43
const
float
ph,
const
float
time,
44
const
int
call_padrow);
45
// constructor
46
~
StFtpcSlowSimCluster
();
// destructor
47
48
void
DriftDiffuse(
StFtpcSlowSimField
*field);
49
// drift&diffuse in radial/azimuthal dir.
50
51
void
Print()
const
;
52
float
GetElectron()
const
{
return
electron;}
53
// get the number of electrons
54
float
GetSigRad()
const
{return ::sqrt(sigma_rad_squared);}
55
// get the radial sigma
56
float
GetSigPhi()
const
{return ::sqrt(sigma_phi_squared);}
57
// get the azimuthal sigma
58
float
GetRadOff()
const
{
return
radialDipWidth;}
59
// get the radial dip width
60
float
GetPadOff()
const
{
return
azimuthalCrossWidth;}
61
// get the azimuthal crossing width
62
float
GetRad()
const
{
return
currentRadius;}
63
// get the radial position
64
float
GetPhi()
const
{
return
currentPhi;}
65
// get the azimuthal position
66
float
GetDriftTime()
const
{
return
drift_time;}
67
// get the accumulated drift time in usec
68
69
private
:
70
int
mIntDiffCoarseness;
//number of steps skipped by diffusion
71
float
mFlDiffCoarseness;
// correction for skipped steps;
72
float
outerRadius;
// limit of drift range
73
float
deltaRadius;
// delta radius in one drift step
74
float
twoDeltaRadius;
// 2*deltaRadius
75
float
electron;
// number of electrons in a cluster
76
float
electronLoss;
// gas attenuation per drift step
77
float
sigma_rad_squared;
// sigma width in radial dir squared
78
float
sigma_phi_squared;
// sigma width in azimuthal dir sq
79
float
radialDipWidth;
// radial dip width
80
float
azimuthalCrossWidth;
// azimuthal crossing width
81
float
currentRadius;
// radial position in cm
82
float
currentPhi;
// azimuthal position in deg
83
float
drift_time;
// accumulated drift time in usec.
84
int
padrow;
// self-explanatory (needed for drift field)
85
int
original_padrow;
// only for debug output
86
87
88
};
89
90
#endif
91
92
93
94
95
StFtpcSlowSimCluster
Definition:
StFtpcSlowSimCluster.hh:34
StFtpcSlowSimField
Definition:
StFtpcSlowSimField.hh:47
StFtpcDbReader
Definition:
StFtpcDbReader.hh:130
StFtpcParamReader
Definition:
StFtpcParamReader.hh:100
Generated by
1.8.5