]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSCalibration.h
In Open() and GotoEvent() try the ESD operations first, fallback to run-loader.
[u/mrichter/AliRoot.git] / ITS / AliITSCalibration.h
index 3ad0b376df2c777ed9db14328b8875338843f69b..d295965539d6765b2aaae2857681b6b7e6eb0917 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;
@@ -26,10 +31,14 @@ class AliITSCalibration : public TObject {
     AliITSCalibration();
     // Standard Constructor
     AliITSCalibration(Double_t Thickness);
-    AliITSCalibration(const AliITSCalibration &ob); // copy constructor
-    AliITSCalibration& operator=(const AliITSCalibration & /* source */); // ass.
+
     // 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
     //
@@ -59,8 +68,6 @@ class AliITSCalibration : public TObject {
     virtual const char  *DataType() const {return fDataType.Data();}
     // Type of data - real or simulated
     virtual void    SetDataType(const char *data="simulated") {fDataType=data;}
-    // Set parameters options: "same" or read from "file" or "SetInvalid" or...
-    //  virtual void   SetParamOptions(const char*,const char*) = 0;
     // Set noise parameters 
     virtual void   SetNoiseParam(Double_t, Double_t) = 0;
     // Number of parameters to be set
@@ -68,13 +75,14 @@ class AliITSCalibration : public TObject {
     // Set detector parameters: gain, coupling ...
     virtual  void   SetDetParam(Double_t *) = 0;
 
-    // Parameters options
-    //  virtual void   ParamOptions(char *,char*) const = 0;
     virtual Int_t  NDetParam() const = 0;
     virtual void   GetDetParam(Double_t *) const = 0;
     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;
@@ -117,6 +125,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,
@@ -142,13 +153,10 @@ class AliITSCalibration : public TObject {
 
     virtual void SetDiffCoeff(Float_t p1, Float_t p2) {fResponse->SetDiffCoeff(p1,p2);}
     virtual void DiffCoeff(Float_t &diff,Float_t &diff1) const {fResponse->DiffCoeff(diff,diff1);} 
-    virtual void SetFilenames(const char *f1="",const char *f2="",
-                                const char *f3="") {fResponse->SetFilenames(f1,f2,f3);}    
-    virtual void Filenames(char* input,char* baseline,char* param) {fResponse->Filenames(input,baseline,param);}
-    virtual void SetOutputOption(Bool_t write=kFALSE) {fResponse->SetOutputOption(write);}
-    virtual Bool_t OutputOption() const {return fResponse->OutputOption();} 
 
  protected:
+    AliITSCalibration(const AliITSCalibration &ob); // copy constructor
+    AliITSCalibration& operator=(const AliITSCalibration& source); // ass.
     void NotImplemented(const char *method) const {if(gDebug>0)
          Warning(method,"This method is not implemented for this sub-class");}