]>
Commit | Line | Data |
---|---|---|
237c933d | 1 | #ifndef ALIRICHRESPONSEV0_H |
2 | #define ALIRICHRESPONSEV0_H | |
3 | ||
4 | ||
5 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
6 | * See cxx source for full Copyright notice */ | |
7 | ||
8 | /* $Id$ */ | |
9 | ||
10 | ||
11 | #include "AliRICHResponse.h" | |
7718df42 | 12 | #include <iostream.h> |
13 | ||
a2f7eaf6 | 14 | class AliSegmentation; |
15 | ||
237c933d | 16 | |
7718df42 | 17 | class AliRICHResponseV0 : public AliRICHResponse |
18 | { | |
19 | public: | |
20 | AliRICHResponseV0(); // default ctor | |
237c933d | 21 | virtual ~AliRICHResponseV0(){} |
7718df42 | 22 | |
23 | virtual inline void Print(Option_t* option)const; | |
24 | // | |
237c933d | 25 | // Configuration methods |
26 | // | |
27 | // Number of sigmas over which cluster didintegration is performed | |
28 | virtual void SetSigmaIntegration(Float_t p1) {fSigmaIntegration=p1;} | |
29 | virtual Float_t SigmaIntegration() {return fSigmaIntegration;} | |
30 | // charge slope in ADC/e | |
31 | virtual void SetChargeSlope(Float_t p1) {fChargeSlope=p1;} | |
32 | virtual Float_t ChargeSlope() {return fChargeSlope;} | |
33 | // sigma of the charge spread function | |
34 | virtual void SetChargeSpread(Float_t p1, Float_t p2) | |
35 | {fChargeSpreadX=p1; fChargeSpreadY=p2;} | |
36 | virtual Float_t ChargeSpreadX() {return fChargeSpreadX;} | |
37 | virtual Float_t ChargeSpreadY() {return fChargeSpreadY;} | |
38 | // Adc-count saturation value | |
39 | virtual void SetMaxAdc(Float_t p1) {fMaxAdc=p1;} | |
40 | virtual Float_t MaxAdc() {return fMaxAdc;} | |
41 | // anode cathode Pitch | |
42 | virtual Float_t Pitch() {return fPitch;} | |
43 | virtual void SetPitch(Float_t p1) {fPitch=p1;}; | |
44 | // alpha feedback | |
45 | virtual void SetAlphaFeedback(Float_t alpha) {fAlphaFeedback=alpha;} | |
46 | virtual Float_t AlphaFeedback() {return fAlphaFeedback;} | |
47 | // ionisation enrgy | |
48 | virtual void SetEIonisation(Float_t e) {fEIonisation=e;} | |
49 | virtual Float_t EIonisation() {return fEIonisation;} | |
50 | // Mathieson parameters | |
51 | virtual void SetSqrtKx3(Float_t p1) {fSqrtKx3=p1;}; | |
52 | virtual void SetKx2(Float_t p1) {fKx2=p1;}; | |
53 | virtual void SetKx4(Float_t p1) {fKx4=p1;}; | |
54 | virtual void SetSqrtKy3(Float_t p1) {fSqrtKy3=p1;}; | |
55 | virtual void SetKy2(Float_t p1) {fKy2=p1;}; | |
56 | virtual void SetKy4(Float_t p1) {fKy4=p1;}; | |
57 | // | |
58 | // Chamber response methods | |
59 | // Pulse height from scored quantity (eloss) | |
a9b7cb8e | 60 | virtual Float_t IntPH(Float_t eloss, Float_t yhit); |
61 | virtual Float_t IntPH(Float_t yhit); | |
237c933d | 62 | // Charge disintegration |
a2f7eaf6 | 63 | virtual Float_t IntXY(AliSegmentation * segmentation); |
237c933d | 64 | virtual Int_t FeedBackPhotons(Float_t *source, Float_t qtot); |
a9b7cb8e | 65 | // Wire sag |
66 | virtual void SetWireSag(Int_t p1) {fWireSag=p1;}; | |
67 | virtual void SetVoltage(Int_t p1) {fVoltage=p1;}; | |
237c933d | 68 | protected: |
69 | Float_t fChargeSlope; // Slope of the charge distribution | |
70 | Float_t fChargeSpreadX; // Width of the charge distribution in x | |
71 | Float_t fChargeSpreadY; // Width of the charge distribution in y | |
72 | Float_t fSigmaIntegration; // Number of sigma's used for charge distribution | |
73 | Float_t fAlphaFeedback; // Feedback photons coefficient | |
74 | Float_t fEIonisation; // Mean ionisation energy | |
75 | Float_t fMaxAdc; // Maximum ADC channel | |
a9b7cb8e | 76 | Float_t fSqrtKx3; // Mathieson parameters for x |
77 | Float_t fKx2; // Mathieson parameters for x | |
78 | Float_t fKx4; // Mathieson parameters for x | |
79 | Float_t fSqrtKy3; // Mathieson parameters for y | |
80 | Float_t fKy2; // Mathieson parameters for y | |
81 | Float_t fKy4; // Mathieson parameters for y | |
82 | Float_t fPitch; // Anode-cathode pitch | |
83 | Int_t fWireSag; // Flag to turn on/off (0/1) wire sag | |
7718df42 | 84 | Int_t fVoltage; // Working voltage (2000, 2050, 2100, 2150) |
85 | ClassDef(AliRICHResponseV0,1) // RICH Response model: Mathieson verion | |
237c933d | 86 | }; |
7718df42 | 87 | |
88 | inline void AliRICHResponseV0::Print(Option_t* option) const | |
89 | { | |
90 | TObject::Print(); | |
91 | cout<<"Slope of the charge distribution "<<fChargeSlope <<endl; | |
92 | cout<<"Width of the charge distribution in x "<<fChargeSpreadX <<endl; | |
93 | cout<<"Width of the charge distribution in y "<<fChargeSpreadY <<endl; | |
94 | cout<<"Number of sigma's used for charge distribution "<<fSigmaIntegration <<endl; | |
95 | cout<<"Feedback photons coefficient "<<fAlphaFeedback <<endl; | |
96 | cout<<"Mean ionisation energy "<<fEIonisation <<endl; | |
97 | cout<<"Maximum ADC channel "<<fMaxAdc <<endl; | |
98 | cout<<"Mathieson parameters for x "<<fSqrtKx3 <<endl; | |
99 | cout<<"Mathieson parameters for x "<<fKx2 <<endl; | |
100 | cout<<"Mathieson parameters for x "<<fKx4 <<endl; | |
101 | cout<<"Mathieson parameters for y "<<fSqrtKy3 <<endl; | |
102 | cout<<"Mathieson parameters for y "<<fKy2 <<endl; | |
103 | cout<<"Mathieson parameters for y "<<fKy4 <<endl; | |
104 | cout<<"Anode-cathode pitch "<<fPitch <<endl; | |
105 | cout<<"Flag to turn on/off (0/1) wire sag "<<fWireSag <<endl; | |
106 | cout<<"Working voltage (2000, 2050, 2100, 2150) "<<fVoltage <<endl; | |
107 | }//void AliRICHResponseV0::Print() | |
108 | ||
237c933d | 109 | #endif |