AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONMathieson.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 /* $Id$ */
17 
18 //-----------------------------------------------------------------------------
19 // Class AliMUONMathieson
20 // -----------------------
21 // Implementation of Mathieson response
22 // Separated from other classes by CH. Finck with removing circular
23 // dependencies
24 //-----------------------------------------------------------------------------
25 
26 #include "AliMUONMathieson.h"
27 
28 #include "AliLog.h"
29 
30 #include <TClass.h>
31 #include <TMath.h>
32 #include <TRandom.h>
33 
37 
38 //__________________________________________________________________________
40  fSqrtKx3(0.),
41  fKx2(0.),
42  fKx4(0.),
43  fSqrtKy3(0.),
44  fKy2(0.),
45  fKy4(0.),
46  fPitch(0.),
47  fInversePitch(0.)
48 {
50 
51 }
52 
53 //__________________________________________________________________________
55 {
57 }
58 
59  //__________________________________________________________________________
61 {
66  fSqrtKx3 = SqrtKx3;
67  fKx2 = TMath::Pi() / 2. * (1. - 0.5 * fSqrtKx3);
68  Float_t cx1 = fKx2 * fSqrtKx3 / 4. / TMath::ATan(Double_t(fSqrtKx3));
69  fKx4 = cx1 / fKx2 / fSqrtKx3;
70 }
71 
72  //__________________________________________________________________________
74 {
79  fSqrtKy3 = SqrtKy3;
80  fKy2 = TMath::Pi() / 2. * (1. - 0.5 * fSqrtKy3);
81  Float_t cy1 = fKy2 * fSqrtKy3 / 4. / TMath::ATan(Double_t(fSqrtKy3));
82  fKy4 = cy1 / fKy2 / fSqrtKy3;
83 }
84 
85 //_____________________________________________________________________________
86 Float_t
87 AliMUONMathieson::IntXY(Float_t xi1, Float_t yi1, Float_t xi2, Float_t yi2) const
88 {
90 
91  xi1 *= fInversePitch;
92  xi2 *= fInversePitch;
93  yi1 *= fInversePitch;
94  yi2 *= fInversePitch;
95  //
96  // The Mathieson function
97  Double_t ux1=fSqrtKx3*TMath::TanH(fKx2*xi1);
98  Double_t ux2=fSqrtKx3*TMath::TanH(fKx2*xi2);
99 
100  Double_t uy1=fSqrtKy3*TMath::TanH(fKy2*yi1);
101  Double_t uy2=fSqrtKy3*TMath::TanH(fKy2*yi2);
102 
103 
104  return Float_t(4.*fKx4*(TMath::ATan(ux2)-TMath::ATan(ux1))*
105  fKy4*(TMath::ATan(uy2)-TMath::ATan(uy1)));
106 }
107 
108 //______________________________________________________________________________
109 void
111 {
113 
114  fPitch = p1;
115  if ( fPitch )
116  {
117  fInversePitch = 1/fPitch;
118  }
119  else
120  {
121  AliError(Form("Invalid pitch %e",p1));
122  fInversePitch = 0.0;
123  }
124 }
125 
Float_t fPitch
anode-cathode pitch
void SetSqrtKx3AndDeriveKx2Kx4(Float_t SqrtKx3)
Mathieson sqrt{Kx3} and derived Kx2 and Kx4.
Float_t IntXY(Float_t xi1, Float_t yi1, Float_t xi2, Float_t yi2) const
Charge integration on region (x1,y1,x2,y2).
Implementation of Mathieson response.
ClassImp(TPCGenInfo)
Definition: AliTPCCmpNG.C:254
Float_t fKx4
Mathieson Kx4 = Kx1/Kx2/Sqrt(Kx3)
Float_t fInversePitch
1/Pitch
void SetPitch(Float_t p1)
Float_t fSqrtKy3
Mathieson Sqrt(Ky3)
virtual ~AliMUONMathieson()
Float_t fKy4
Mathieson Ky4 = Ky1/Ky2/Sqrt(Ky3)
Float_t fSqrtKx3
Mathieson Sqrt(Kx3)
Float_t fKy2
Mathieson Ky2.
void SetSqrtKy3AndDeriveKy2Ky4(Float_t SqrtKy3)
Mathieson sqrt{Ky3} and derived Ky2 and Ky4.
Float_t fKx2
Mathieson Kx2.