]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHResponseV0.h
Template for single ring run configuration. (J. Barbosa)
[u/mrichter/AliRoot.git] / RICH / AliRICHResponseV0.h
CommitLineData
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"
7118aef0 12#include <Riostream.h>
7718df42 13
a2f7eaf6 14class AliSegmentation;
15
237c933d 16
7718df42 17class AliRICHResponseV0 : public AliRICHResponse
18{
19public:
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
88inline 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