ROOT logo
AliRoot » TPC » BASE » AliTPCTempMap

class AliTPCTempMap: public TNamed


TPC calibration class for temperature maps and tendencies
(based on TPC Temperature Sensors and FiniteElement Simulation)

Authors: Stefan Rossegger, Haavard Helstrup

Note: Obvioulsy some changes by Marian, but when ???


Function Members (Methods)

public:
AliTPCTempMap(AliTPCSensorTempArray* SensorsDCS)
AliTPCTempMap(const AliTPCTempMap& c)
virtual~AliTPCTempMap()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidCopy(TObject& c) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TLinearFitter*GetLinearFitter(Int_t type, Int_t side, UInt_t timeSec)
TLinearFitter*GetLinearFitter(Int_t type, Int_t side, TTimeStamp& stamp)
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetTemperature(Double_t x, Double_t y, Double_t z, UInt_t timeSec)
Double_tGetTemperature(Double_t x, Double_t y, Double_t z, TTimeStamp& stamp)
Double_tGetTempGradientY(UInt_t timeSec, Int_t side)
TGraph2D*GetTempMapsViaSensors(Int_t type, Int_t side, UInt_t timeSec)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsOK(Float_t value)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
TGraph*MakeGraphGradient(Int_t axis, Int_t side, Int_t nPoints)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliTPCTempMap&operator=(const AliTPCTempMap& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
AliTPCTempMap(const char* fname)

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringfStringFEsimulationPlaceholder for file of FiniteElement
AliTPCSensorTempArray*fTempArrayArray of Sensors (initialized in Constructor)
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliTPCTempMap

Function documentation

AliTPCTempMap(AliTPCSensorTempArray* SensorsDCS)
 AliTPCTempMap default constructor

AliTPCTempMap(const AliTPCTempMap& c)
 AliTPCTempMap copy constructor

~AliTPCTempMap()
 AliTPCTempMap destructor

AliTPCTempMap & operator=(const AliTPCTempMap& c)
 Assignment operator

void Copy(TObject& c) const
 Copy function

Double_t GetTempGradientY(UInt_t timeSec, Int_t side)
 Extract Linear Vertical Temperature Gradient [K/cm] within the TPC on
 Shaft Side(A): 0
 Muon  Side(C): 1
 Values based on TemperatureSensors within the TPC ( type: 3 (TPC) )

 FIXME: Also return residual-distribution, covariance Matrix
        or simply chi2 for validity check?
        -> better use GetLinearFitter - function in this case!
TLinearFitter * GetLinearFitter(Int_t type, Int_t side, TTimeStamp& stamp)
 absolute time stamp used
 see AliTPCTempMap::GetLinearFitter(Int_t type, Int_t side, UInt_t timeSec) for details

TLinearFitter * GetLinearFitter(Int_t type, Int_t side, UInt_t timeSec)
 Creates a TlinearFitter object for the desired region of the TPC
 (via choosen type and side of TPC temperature sensors) at a given
 timeSec (in secounds) after start time
 type: 0 ... ReadOutChambers (ROC)
       1 ... OuterContainmentVessel (OFC)
       2 ... InnerContainmentVessel (IFC) + ThermalScreener (TS)
       3 ... Within the TPC (DriftVolume) (TPC)
       4 ... Only InnerContainmentVessel (IFC)
 side: Can be choosen for type 0 and 3 (otherwise it will be ignored in
       in order to get all temperature sensors of interest)
       0 ... Shaft Side (A)
       1 ... Muon Side (C)

TGraph2D * GetTempMapsViaSensors(Int_t type, Int_t side, UInt_t timeSec)
 Creates a TGraph2D object for the desired region of the TPC
 (via choosen type and side of TPC temperature sensors) at a given
 timeSec (in secounds) after start time
 type: 0 ... ReadOutChambers (ROC)
       1 ... OuterContainmentVessel (OFC)
       2 ... InnerContainmentVessel (IFC) + ThermalScreener (TS)
       3 ... Within the TPC (DriftVolume) (TPC)
 side: Can be choosen for type 0 and 3 (otherwise it will be ignored in
       in order to get all temperature sensors of interest)
       0 ... A - side
       1 ... C - side

TGraph * MakeGraphGradient(Int_t axis, Int_t side, Int_t nPoints)
 Make graph from start time to end time of TempGradient in axis direction
 axis: 0 ... horizontal Temperature Gradient (X)
       1 ... vertical Temperature Gradient (Y)
       2 ... longitudenal Temperature Gradient (Z) (side is ignored)
             z gradient value based on OFC temperature sensors
             Caution!: better z gradient values through difference between
             param[0] A- and param[0] C-side !
 side for X and Y gradient:
       0 ... Shaft Side (A)
       1 ... Muon Side (C)

Double_t GetTemperature(Double_t x, Double_t y, Double_t z, TTimeStamp& stamp)
 absolute time stamp used
 see also Double_t AliTPCTempMap::GetTemperature(Double_t x, Double_t y, Double_t z, UInt_t timeSec) for details

Double_t GetTemperature(Double_t x, Double_t y, Double_t z, UInt_t timeSec)
 Returns estimated Temperature at given position (x,y,z[cm]) at given time
 (timeSec) after starttime
 Method: so far just a linear interpolation between Linar fits of
         the TPC temperature sensors
         FIXME: 'Educated Fit' through FiniteElement Simulation results!
 FIXXME: Return 0? if x,y,z out of range

Bool_t IsOK(Float_t value)
 checks if value is within a certain range

AliTPCTempMap(AliTPCSensorTempArray* SensorsDCS)