]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSdcsSSD.h
Mostly minor changes to keep things consistant.
[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>
26#include <TArrayS.h>
27#include <TRandom.h>
b0f5e3fc 28
29class AliITSsegmentation;
30class AliITSresponse;
31
32
33class AliITSdcsSSD: public TObject {
34
35public:
36
37 //________________________________________________________________
38 //
39 // Constructors and deconstructor
40 //________________________________________________________________
41 //
42
43 AliITSdcsSSD(AliITSsegmentation *s, AliITSresponse *r);
44 ~AliITSdcsSSD();
45 AliITSdcsSSD(const AliITSdcsSSD &source); // copy constructor
46 AliITSdcsSSD& operator=(const AliITSdcsSSD &source); // assignment operator
47
48 //________________________________________________________________
49 //
50 // Invalid strips management methods
51 //________________________________________________________________
52 //
53
54 // Parameters for invalid strips MonteCarlo
55
56 void SetInvalidParam(Float_t mean, Float_t sigma);
57 void GetInvalidParam(Float_t &mean, Float_t &sigma);
58
59
60 // Methods for creating invalid strips
61
62 void SetInvalidMC(Float_t mean, Float_t sigma);
63 void SetInvalidMC();
64
65
66 // Testing if strip is valid
67
68 Bool_t IsValidN(Int_t strip); //True if strip works properly
69 Bool_t IsValidP(Int_t strip); //True if strip works properly
70
71
72 // Access to invalid strips
73
74 TArrayS *GetInvalidP(); //Array of invalid P strips
75 TArrayS *GetInvalidN(); //Array of invalid N strips
76 Int_t GetNInvalidP(); //Number of invalid P strips
77 Int_t GetNInvalidN(); //Number of invalid N strips
78
79
80 // Creating invalid strips
81
82 void SetInvalidP(Int_t strip, Bool_t side){
83 //Set invalid if true
84 }
85
86 void SetInvalidN(Int_t strip, Bool_t side){
87 //Set invalid if true
88 }
89
90 Float_t GetCouplingPR() {
91 // couplings
92 return fCouplingPR;
93 }
94
95 Float_t GetCouplingPL() {
96 // couplings
97 return fCouplingPL;
98 }
99
100 Float_t GetCouplingNR() {
101 // couplings
102 return fCouplingNR;
103 }
104
105 Float_t GetCouplingNL() {
106 // couplings
107 return fCouplingNL;
108 }
109
110 protected:
111
112 //_____________________________________________
113 //
114 // Parameters for invalid strips simulatation
115 //_____________________________________________
116
117 Float_t fCouplingPR; // couplings
118 Float_t fCouplingPL; // couplings
119 Float_t fCouplingNR; // couplings
120 Float_t fCouplingNL; // couplings
121
122 Float_t fNstrips ; //Number of strips
123 Float_t fNInvalid; //Mean number of invalid strips (for simulation)
124 Float_t fISigma; //RMS of invalid strips (Gaussian)
125
126 TArrayS *fInvalidP; //Array of invalid strips on P-side
127 TArrayS *fInvalidN; //Array of invalid strips on N-side
128
129 TRandom *fRandom; //!Random numbers generator
130
131 ClassDef(AliITSdcsSSD, 1) // ITS SSD DCS specific class
132
133};
134
135
136#endif