1 #ifndef ALI_TPC_INVERSE_CORRECTION_H
2 #define ALI_TPC_INVERSE_CORRECTION_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////////////
9 // AliTPCInverseCorrection class //
11 // This is a wrapper that inverts an AliTPCCorrection. This is done by //
12 // swapping the CalculateCorrection and CalculateInverseCorrection functions. //
13 // The wrapped correction is supplied as a pointer and the class relies //
14 // on the fact, that this pointer keeps pointing to the right object. //
15 // However, the ownership is not changed, i.e. the wrapped correction //
16 // will not be deleted when this correction is destructed. //
18 // date: 27/04/2010 //
19 // Authors: Magnus Mager, Stefan Rossegger, Jim Thomas //
20 ////////////////////////////////////////////////////////////////////////////////
22 #include "AliTPCCorrection.h"
24 class AliTPCInverseCorrection : public AliTPCCorrection {
26 AliTPCInverseCorrection();
27 AliTPCInverseCorrection(AliTPCCorrection *correction);
28 virtual ~AliTPCInverseCorrection();
30 void SetCorrection(AliTPCCorrection *correction) {fCorrection=correction;}
31 AliTPCCorrection* GetCorrection() const {return fCorrection;}
32 virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
33 virtual void GetDistortion(const Float_t x[],const Short_t roc,Float_t dx[]);
35 AliTPCCorrection *fCorrection; // The correction to be inverted.
37 AliTPCInverseCorrection & operator = (const AliTPCInverseCorrection);
38 AliTPCInverseCorrection(const AliTPCInverseCorrection&); //dummy copy contructor
40 ClassDef(AliTPCInverseCorrection,1);