]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSdcsSSD.h
Improved cluster finder algorithm for SDD
[u/mrichter/AliRoot.git] / ITS / AliITSdcsSSD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSDCSSSD_H
2#define ALIITSDCSSSD_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
b0f5e3fc 7//____________________________________________________________________
8//
9// Class AliITSdcsSSD
10// describes Detector Control System parameters for one SSD module.
11//
12// This class stores parametrers such as gain, threshold
13// capacitive coupling.
14//
15// Class takes care of invalid strip menagement during
16// simulation and runtime
17//
18//
19// created at: Warsaw University of Technology
20// ver. 1.0 WARSAW, 23.12.1999
21//
22//___________________________________________________________________
23//
24
e8189707 25#include <TObject.h>
b0f5e3fc 26
92c19c36 27class TArrayS;
28class TRandom;
b0f5e3fc 29class AliITSsegmentation;
30class AliITSresponse;
31
32
92c19c36 33
b0f5e3fc 34class AliITSdcsSSD: public TObject {
35
36public:
37
38 //________________________________________________________________
39 //
40 // Constructors and deconstructor
41 //________________________________________________________________
42 //
43
44 AliITSdcsSSD(AliITSsegmentation *s, AliITSresponse *r);
92c19c36 45 virtual ~AliITSdcsSSD();
b0f5e3fc 46 AliITSdcsSSD(const AliITSdcsSSD &source); // copy constructor
47 AliITSdcsSSD& operator=(const AliITSdcsSSD &source); // assignment operator
48
49 //________________________________________________________________
50 //
51 // Invalid strips management methods
52 //________________________________________________________________
53 //
54
55 // Parameters for invalid strips MonteCarlo
56
57 void SetInvalidParam(Float_t mean, Float_t sigma);
58 void GetInvalidParam(Float_t &mean, Float_t &sigma);
59
60
61 // Methods for creating invalid strips
62
63 void SetInvalidMC(Float_t mean, Float_t sigma);
64 void SetInvalidMC();
65
66
67 // Testing if strip is valid
68
69 Bool_t IsValidN(Int_t strip); //True if strip works properly
70 Bool_t IsValidP(Int_t strip); //True if strip works properly
71
72
73 // Access to invalid strips
74
75 TArrayS *GetInvalidP(); //Array of invalid P strips
76 TArrayS *GetInvalidN(); //Array of invalid N strips
77 Int_t GetNInvalidP(); //Number of invalid P strips
78 Int_t GetNInvalidN(); //Number of invalid N strips
79
80
81 // Creating invalid strips
82
83 void SetInvalidP(Int_t strip, Bool_t side){
84 //Set invalid if true
85 }
86
87 void SetInvalidN(Int_t strip, Bool_t side){
88 //Set invalid if true
89 }
90
91 Float_t GetCouplingPR() {
92 // couplings
93 return fCouplingPR;
94 }
95
96 Float_t GetCouplingPL() {
97 // couplings
98 return fCouplingPL;
99 }
100
101 Float_t GetCouplingNR() {
102 // couplings
103 return fCouplingNR;
104 }
105
106 Float_t GetCouplingNL() {
107 // couplings
108 return fCouplingNL;
109 }
110
111 protected:
112
113 //_____________________________________________
114 //
115 // Parameters for invalid strips simulatation
116 //_____________________________________________
117
118 Float_t fCouplingPR; // couplings
119 Float_t fCouplingPL; // couplings
120 Float_t fCouplingNR; // couplings
121 Float_t fCouplingNL; // couplings
122
123 Float_t fNstrips ; //Number of strips
124 Float_t fNInvalid; //Mean number of invalid strips (for simulation)
125 Float_t fISigma; //RMS of invalid strips (Gaussian)
126
127 TArrayS *fInvalidP; //Array of invalid strips on P-side
128 TArrayS *fInvalidN; //Array of invalid strips on N-side
129
130 TRandom *fRandom; //!Random numbers generator
131
132 ClassDef(AliITSdcsSSD, 1) // ITS SSD DCS specific class
133
134};
135
136
137#endif