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