]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSCalibration.h
Digits marked according to pad status
[u/mrichter/AliRoot.git] / ITS / AliITSCalibration.h
index bdc6f5442e5fc85c9a7c276f79b0104da3d9398d..3e2131a875e78d3f7f5c0f074aced55f2fcaed28 100644 (file)
@@ -3,13 +3,18 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
 //////////////////////////////////////////////
 // Base ITS calibration class               //
 //////////////////////////////////////////////
 
 #include <TObject.h>
 #include <TString.h>
+#include "AliLog.h"
 #include "AliITSresponse.h"
+#include "AliITSMapSDD.h"
+#include "AliITSDriftSpeedArraySDD.h"
 
 class AliITSsegmentation;
 class TF1;
@@ -29,6 +34,11 @@ class AliITSCalibration : public TObject {
 
     // Destructor.
     virtual ~AliITSCalibration() {;}
+
+    // Check for dead modules anche chips
+    // Return 1 if the module/chip is dead, 0 if it is ok
+    virtual Bool_t IsBad() const {AliError("This method must be implemented in a derived class"); return kFALSE;}
+    virtual Bool_t IsChipBad(Int_t) const {AliError("This method must be implemented in a derived class"); return kFALSE;}
     //
     // Configuration methods
     //
@@ -74,6 +84,9 @@ class AliITSCalibration : public TObject {
     virtual void   GetNoiseParam(Double_t&, Double_t&) const = 0;
     virtual void   SetThresholds(Double_t, Double_t) = 0;
     virtual void   Thresholds(Double_t &, Double_t &) const = 0;
+    virtual void   SetMapA(Int_t, AliITSMapSDD*) {AliError("This method must be implemented in a derived class");}
+    virtual void   SetMapT(Int_t, AliITSMapSDD*) {AliError("This method must be implemented in a derived class");}
+    virtual void   SetDriftSpeed(Int_t, AliITSDriftSpeedArraySDD*) {AliError("This method must be implemented in a derived class");}
     virtual Double_t DriftSpeed() const {return SpeedElectron();};
     // Set sigmas of the charge spread function
     virtual void    SetSigmaSpread(Double_t, Double_t) = 0;
@@ -116,6 +129,9 @@ class AliITSCalibration : public TObject {
     // voltage v [volt] through a distance d [cm] in any material at a
     // temperature T [degree K].
     virtual Double_t SigmaDiffusion1D(Double_t l) const;
+    // Computes the Lorentz angle for Electron and Hole, under the Magnetic field bz (in kGauss)
+    virtual Double_t LorentzAngleElectron(Double_t bz) const;
+    virtual Double_t LorentzAngleHole(Double_t bz) const;
     // Compute the thickness of the depleted region in a Si detector, version A
     virtual Double_t DepletedRegionThicknessA(Double_t dopCons,
                                               Double_t voltage,