Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Par02DetectorParametrisation Class Reference

#include <Par02DetectorParametrisation.hh>

Public Types

enum  Parametrisation { eCMS, eATLAS, eALEPH }
 A parametrisation type (CMS, ATLAS, ALEPH). More...
 
enum  Detector { eTRACKER, eEMCAL, eHCAL }
 

Public Member Functions

 Par02DetectorParametrisation ()
 A default constructor. More...
 
 ~Par02DetectorParametrisation ()
 
G4double GetResolution (Detector aDetector, Parametrisation aParametrisation, G4double aMomentum)
 
G4double GetEfficiency (Detector aDetector, Parametrisation aParametrisation, G4double aMomentum)
 

Detailed Description

Definition of detector resolution and efficiency.

A simple class used to provide the detector resolution and efficiency (dependent on the detector, parametrisation type and particle momentum).

Author
Anna Zaborowska

Definition at line 42 of file Par02DetectorParametrisation.hh.

Member Enumeration Documentation

A detector type (tracking detector, electromagnetic calorimeter, hadronic calorimeter).

Enumerator
eTRACKER 
eEMCAL 
eHCAL 

Definition at line 55 of file Par02DetectorParametrisation.hh.

Constructor & Destructor Documentation

Par02DetectorParametrisation::Par02DetectorParametrisation ( )

A default constructor.

Definition at line 37 of file Par02DetectorParametrisation.cc.

37 {}
Par02DetectorParametrisation::~Par02DetectorParametrisation ( )

Definition at line 41 of file Par02DetectorParametrisation.cc.

41 {}

Member Function Documentation

G4double Par02DetectorParametrisation::GetEfficiency ( Detector  aDetector,
Parametrisation  aParametrisation,
G4double  aMomentum 
)

Gets the efficiency of a detector for a given particle.

Parameters
aDetectorA detector type.
aParametrisationA parametrisation type.
aMomentumA particle momentum.

Definition at line 98 of file Par02DetectorParametrisation.cc.

100  {
101  // For the time being, we set the efficiency to 1.0
102  G4double eff = 1.0;
103  switch ( aDetector ) {
105  eff = 1.0;
106  break;
108  eff = 1.0;
109  break;
111  eff = 1.0;
112  break;
113  }
114  return eff;
115 }
double G4double
Definition: G4Types.hh:76

Here is the caller graph for this function:

G4double Par02DetectorParametrisation::GetResolution ( Detector  aDetector,
Parametrisation  aParametrisation,
G4double  aMomentum 
)

Gets the resolution of a detector for a given particle.

Parameters
aDetectorA detector type.
aParametrisationA parametrisation type.
aMomentumA particle momentum.

Definition at line 45 of file Par02DetectorParametrisation.cc.

47  {
48  aMomentum /= GeV; // To make sure momentum's unit is GeV
49  G4double res = 1.0;
50  if ( aParam == eCMS ) {
51  switch ( aDetector ) {
53  res = 0.013;
54  break;
56  res = std::sqrt( std::pow( 0.03 / std::sqrt( aMomentum ), 2 ) // stochastic
57  + std::pow( 0.12 / aMomentum, 2 ) // noise
58  + std::pow( 0.003, 2 ) ); // constant
59  break;
61  res = std::sqrt( std::pow( 1.1 / std::sqrt( aMomentum ), 2 ) // stochastic
62  + std::pow( 0.09, 2 ) ); // constant
63  break;
64  }
65  } else if ( aParam == eATLAS ) {
66  switch ( aDetector ) {
68  res = 0.01;
69  break;
71  res = std::sqrt( std::pow( 0.1 / std::sqrt( aMomentum ), 2 ) // stochastic
72  + std::pow( 0.0017, 2 ) ); // constant
73  break;
75  res = std::sqrt( std::pow( 0.55 / std::sqrt( aMomentum ), 2 ) // stochastic
76  + std::pow( 0.06, 2 ) ); // constant
77  break;
78  }
79  } else if ( aParam == eALEPH ) {
80  switch ( aDetector ) {
82  res = 0.01;
83  break;
85  res = std::sqrt( std::pow( 0.18 / std::sqrt( aMomentum ), 2 ) // stochastic
86  + std::pow( 0.009, 2 ) ); // constant
87  break;
89  res = 0.85 / std::sqrt( aMomentum ); // stochastic
90  break;
91  }
92  }
93  return res;
94 }
static constexpr double GeV
Definition: G4SIunits.hh:217
double G4double
Definition: G4Types.hh:76

Here is the caller graph for this function:


The documentation for this class was generated from the following files: