]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSdcsSSD.h
Transition to newIO
[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//___________________________________________________________________
b0f5e3fc 23
e8189707 24#include <TObject.h>
b0f5e3fc 25
92c19c36 26class TArrayS;
27class TRandom;
b0f5e3fc 28class AliITSsegmentation;
29class AliITSresponse;
30
b0f5e3fc 31class AliITSdcsSSD: public TObject {
32
46e97372 33 public:
34 AliITSdcsSSD(); // Default constructor
35 // Standard constructor
36 AliITSdcsSSD(AliITSsegmentation *s, AliITSresponse *r);
37 virtual ~AliITSdcsSSD(); // Destructor
b0f5e3fc 38 AliITSdcsSSD(const AliITSdcsSSD &source); // copy constructor
39 AliITSdcsSSD& operator=(const AliITSdcsSSD &source); // assignment operator
b0f5e3fc 40 //________________________________________________________________
41 //
42 // Invalid strips management methods
43 //________________________________________________________________
b0f5e3fc 44 // Parameters for invalid strips MonteCarlo
b0f5e3fc 45 void SetInvalidParam(Float_t mean, Float_t sigma);
46e97372 46 void GetInvalidParam(Float_t &mean, Float_t &sigma);
b0f5e3fc 47 // Methods for creating invalid strips
b0f5e3fc 48 void SetInvalidMC(Float_t mean, Float_t sigma);
49 void SetInvalidMC();
b0f5e3fc 50 // Testing if strip is valid
b0f5e3fc 51 Bool_t IsValidN(Int_t strip); //True if strip works properly
46e97372 52 Bool_t IsValidP(Int_t strip); //True if strip works properly
b0f5e3fc 53 // Access to invalid strips
b0f5e3fc 54 TArrayS *GetInvalidP(); //Array of invalid P strips
55 TArrayS *GetInvalidN(); //Array of invalid N strips
56 Int_t GetNInvalidP(); //Number of invalid P strips
46e97372 57 Int_t GetNInvalidN(); //Number of invalid N strips
b0f5e3fc 58 // Creating invalid strips
46e97372 59 void SetInvalidP(Int_t strip, Bool_t side){//Set invalid if true
b0f5e3fc 60 }
46e97372 61 void SetInvalidN(Int_t strip, Bool_t side){//Set invalid if true
b0f5e3fc 62 }
46e97372 63 Float_t GetCouplingPR() {// couplings
b0f5e3fc 64 return fCouplingPR;
65 }
46e97372 66 Float_t GetCouplingPL() {// couplings
b0f5e3fc 67 return fCouplingPL;
68 }
46e97372 69 Float_t GetCouplingNR() {// couplings
b0f5e3fc 70 return fCouplingNR;
71 }
46e97372 72 Float_t GetCouplingNL() {// couplings
b0f5e3fc 73 return fCouplingNL;
74 }
75
46e97372 76 protected:
b0f5e3fc 77 //_____________________________________________
78 //
79 // Parameters for invalid strips simulatation
46e97372 80 //_____________________________________________
b0f5e3fc 81 Float_t fCouplingPR; // couplings
82 Float_t fCouplingPL; // couplings
83 Float_t fCouplingNR; // couplings
84 Float_t fCouplingNL; // couplings
85
46e97372 86 Float_t fNstrips; //Number of strips
87 Float_t fNInvalid; //Mean number of invalid strips (for simulation)
88 Float_t fISigma; //RMS of invalid strips (Gaussian)
b0f5e3fc 89
46e97372 90 TArrayS *fInvalidP; //Array of invalid strips on P-side
91 TArrayS *fInvalidN; //Array of invalid strips on N-side
b0f5e3fc 92
93 ClassDef(AliITSdcsSSD, 1) // ITS SSD DCS specific class
94
95};
b0f5e3fc 96#endif