]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSresponseSPDdubna.cxx
Coding conventions
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPDdubna.cxx
CommitLineData
409f8c84 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
12e7c97c 15#include <Riostream.h>
409f8c84 16#include <TMath.h>
12e7c97c 17#include <TRandom.h>
409f8c84 18
19#include "AliITSresponseSPDdubna.h"
12e7c97c 20
21//___________________________________________
409f8c84 22ClassImp(AliITSresponseSPDdubna)
23
12e7c97c 24AliITSresponseSPDdubna::AliITSresponseSPDdubna() : AliITSresponse(){
25 // Default constructor
26 // Inputs:
27 // none.
28 // Outputs:
29 // none.
30 // Return:
31 // A default constructed AliITSresponseSPD class
32
33 SetNoiseParam(); // fNoise, fBaseline
34 SetThreshold(); // fThreshold
35 SetCouplings(); // fCouplCol, fCouplRow
36 SetFractionDeadPixels(); // fDeadPixels
37 SetDataType(); // fDataType
38}
39//_________________________________________________________________________
40Bool_t AliITSresponseSPDdubna::IsPixelDead(Int_t mod,Int_t ix,Int_t iz) const {
41 // Returns kTRUE if pixel is dead
42 // Inputs:
43 // Int_t mod module number
44 // Int_t ix x pixel number
45 // Int_t iz z pixel number
46 // Outputs:
47 // none.
48 // Return:
49 // kFALSE if pixel is alive, or kTRUE if pixel is dead.
50 Bool_t dead = kFALSE;
51 Int_t seed;
52 static TRandom ran; // don't use gRandom. This must not be a true randome
53 // sequence. These sequence must be random one and then fully repetable.
54
55 seed = mod*256*256+iz*256+ix;
56 ran.SetSeed(seed);
57 if(ran.Rndm(0)<fDeadPixels) dead = kTRUE;
58 return dead;
59}
60//----------------------------------------------------------------------
61void AliITSresponseSPDdubna::Print(ostream *os){
62 // Standard output format for this class.
63 // Inputs:
64 // ostream *os Pointer to the output stream
65 // Outputs:
66 // none:
67 // Return:
68 // none.
69#if defined __GNUC__
70#if __GNUC__ > 2
71 ios::fmtflags fmt;
72#else
73 Int_t fmt;
74#endif
75#else
76#if defined __ICC || defined __ECC
77 ios::fmtflags fmt;
78#else
79 Int_t fmt;
80#endif
81#endif
409f8c84 82
12e7c97c 83 AliITSresponse::Print(os);
84 fmt = os->setf(ios::scientific); // set scientific floating point output
85 *os << fNoise << " " << fBaseline << " " << fCouplCol << " ";
86 *os << fCouplRow << " "<< fThreshold << " " << fDeadPixels << " ";
87 *os << fDataType;
88// *os << " " << endl;
89 os->flags(fmt); // reset back to old formating.
90 return;
409f8c84 91}
12e7c97c 92//----------------------------------------------------------------------
93void AliITSresponseSPDdubna::Read(istream *is){
94 // Standard input format for this class.
95 // Inputs:
96 // ostream *os Pointer to the output stream
97 // Outputs:
98 // none:
99 // Return:
100 // none.
409f8c84 101
12e7c97c 102 AliITSresponseSPDdubna::Read(is);
103 *is >> fNoise >> fBaseline >> fCouplCol >> fCouplRow;
104 *is >> fThreshold >> fDeadPixels >> fDataType;
105 return;
f74211b0 106}
12e7c97c 107//----------------------------------------------------------------------
108ostream &operator<<(ostream &os,AliITSresponseSPDdubna &p){
109 // Standard output streaming function.
110 // Inputs:
111 // ostream *os Pointer to the output stream
112 // Outputs:
113 // none:
114 // Return:
115 // none.
116
117 p.Print(&os);
118 return os;
119}
120//----------------------------------------------------------------------
121istream &operator>>(istream &is,AliITSresponseSPDdubna &r){
122 // Standard input streaming function.
123 // Inputs:
124 // ostream *os Pointer to the output stream
125 // Outputs:
126 // none:
127 // Return:
128 // none.
129
130 r.Read(&is);
131 return is;
132}
133//----------------------------------------------------------------------
134