add nominal voltages per chamber + a simple script to set those values
authormikolaj <mikolaj@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Aug 2012 14:54:09 +0000 (14:54 +0000)
committermikolaj <mikolaj@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Aug 2012 14:54:09 +0000 (14:54 +0000)
TPC/AliTPCParam.cxx
TPC/AliTPCParam.h
TPC/macros/setNominalVoltagesInAliTPCParam.C [new file with mode: 0644]

index 0a3c340..1da830d 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <TGeoManager.h>
 #include <TGeoPhysicalNode.h>
+#include <TString.h>
 #include "AliAlignObj.h"
 #include "AliAlignObjParams.h"
 #include "AliLog.h"
@@ -115,6 +116,7 @@ AliTPCParam::AliTPCParam()
             fADCDynRange(0.),
             fTotalNormFac(0.),
             fNoiseNormFac(0.),
+       fNominalVoltage(),
             fNResponseMax(0),
             fResponseThreshold(0.),
             fCurrentMax(0),
@@ -491,6 +493,14 @@ void AliTPCParam::SetDefault()
   SetMaxTBin(kMaxTBin);
   SetADCSat(kADCSat);
   SetADCDynRange(kADCDynRange);
+  for (UInt_t i=0; i<36; i++)
+  {
+    SetNominalVoltage(1196.0, i);
+  }
+  for (UInt_t i=36; i<72; i++)
+  {
+    SetNominalVoltage(1417.0, i);
+  }
 //   //set magnetic field
 //   SetBField(kBField);
 //   SetNPrimLoss(kNPrimLoss);
@@ -837,5 +847,3 @@ Float_t AliTPCParam::GetChamberCenter(Int_t isec, Float_t * center) const
   }
 }
 
-
-
index 2a04ba8..2831239 100644 (file)
@@ -14,6 +14,8 @@
 
 #include <TGeoMatrix.h>
 
+class TString;
+
 class AliTPCParam : public AliDetectorParam {
   //////////////////////////////////////////////////////
   //////////////////////////////////////////////////////
@@ -192,6 +194,7 @@ public:
   void  SetMaxTBin(Int_t maxtbin)  {  fMaxTBin = maxtbin;}
   void  SetADCSat(Int_t adcsat)    {  fADCSat  = adcsat;}
   void  SetADCDynRange(Float_t adcdynrange) {fADCDynRange = adcdynrange;}
+  void  SetNominalVoltage(Float_t v, UInt_t i) {if (i<72) fNominalVoltage[i]=v;}
   //
   //set response  parameters  
   //
@@ -316,6 +319,7 @@ public:
   Float_t  GetADCDynRange() const {return fADCDynRange;}
   Float_t  GetTotalNormFac() const {return fTotalNormFac;}
   Float_t  GetNoiseNormFac() const {return fNoiseNormFac;}
+  Float_t  GetNominalVoltage(UInt_t i) const {return (i<72)?fNominalVoltage[i]:0;} //0-35:IROC, 36-71:OROC
   //
   // get response data
   //  
@@ -438,6 +442,7 @@ protected :
   Float_t fADCDynRange;     //input dynamic range (mV)
   Float_t fTotalNormFac;    //full normalisation factor - calculated
   Float_t fNoiseNormFac;    //normalisation factor to transform noise in electron to ADC channel   
+  Float_t fNominalVoltage[72];  //nominal voltage in [V] per chamber
   
   //---------------------------------------------------------------------
   // ALICE TPC response data 
diff --git a/TPC/macros/setNominalVoltagesInAliTPCParam.C b/TPC/macros/setNominalVoltagesInAliTPCParam.C
new file mode 100644 (file)
index 0000000..5809209
--- /dev/null
@@ -0,0 +1,78 @@
+void setNominalVoltagesInAliTPCParam()
+{
+  //LHC11h
+  AliTPCParam* param = new AliTPCParam();
+  param->SetNominalVoltage(1205,0);
+  param->SetNominalVoltage(1193,1);
+  param->SetNominalVoltage(1203,2);
+  param->SetNominalVoltage(1197,3);
+  param->SetNominalVoltage(1210,4);
+  param->SetNominalVoltage(1198,5);
+  param->SetNominalVoltage(1217,6);
+  param->SetNominalVoltage(1196,7);
+  param->SetNominalVoltage(1192,8);
+  param->SetNominalVoltage(1196,9);
+  param->SetNominalVoltage(1201,10);
+  param->SetNominalVoltage(1193,11);
+  param->SetNominalVoltage(1187,12);
+  param->SetNominalVoltage(1194,13);
+  param->SetNominalVoltage(1190,14);
+  param->SetNominalVoltage(1190,15);
+  param->SetNominalVoltage(1192,16);
+  param->SetNominalVoltage(1195,17);
+  param->SetNominalVoltage(1212,18);
+  param->SetNominalVoltage(1206,19);
+  param->SetNominalVoltage(1194,20);
+  param->SetNominalVoltage(1197,21);
+  param->SetNominalVoltage(1193,22);
+  param->SetNominalVoltage(1193,23);
+  param->SetNominalVoltage(1214,24);
+  param->SetNominalVoltage(1195,25);
+  param->SetNominalVoltage(1200,26);
+  param->SetNominalVoltage(1197,27);
+  param->SetNominalVoltage(1207,28);
+  param->SetNominalVoltage(1205,29);
+  param->SetNominalVoltage(1206,30);
+  param->SetNominalVoltage(1194,31);
+  param->SetNominalVoltage(1192,32);
+  param->SetNominalVoltage(1209,33);
+  param->SetNominalVoltage(1198,34);
+  param->SetNominalVoltage(1188,35);
+  param->SetNominalVoltage(1407,36);
+  param->SetNominalVoltage(1422,37);
+  param->SetNominalVoltage(1416,38);
+  param->SetNominalVoltage(1413,39);
+  param->SetNominalVoltage(1417,40);
+  param->SetNominalVoltage(1421,41);
+  param->SetNominalVoltage(1418,42);
+  param->SetNominalVoltage(1412,43);
+  param->SetNominalVoltage(1418,44);
+  param->SetNominalVoltage(1417,45);
+  param->SetNominalVoltage(1414,46);
+  param->SetNominalVoltage(1417,47);
+  param->SetNominalVoltage(1417,48);
+  param->SetNominalVoltage(1418,49);
+  param->SetNominalVoltage(1414,50);
+  param->SetNominalVoltage(1419,51);
+  param->SetNominalVoltage(1411,52);
+  param->SetNominalVoltage(1406,53);
+  param->SetNominalVoltage(1415,54);
+  param->SetNominalVoltage(1418,55);
+  param->SetNominalVoltage(1418,56);
+  param->SetNominalVoltage(1417,57);
+  param->SetNominalVoltage(1423,58);
+  param->SetNominalVoltage(1420,59);
+  param->SetNominalVoltage(1413,60);
+  param->SetNominalVoltage(1418,61);
+  param->SetNominalVoltage(1422,62);
+  param->SetNominalVoltage(1424,63);
+  param->SetNominalVoltage(1416,64);
+  param->SetNominalVoltage(1425,65);
+  param->SetNominalVoltage(1419,66);
+  param->SetNominalVoltage(1424,67);
+  param->SetNominalVoltage(1423,68);
+  param->SetNominalVoltage(1417,69);
+  param->SetNominalVoltage(1420,70);
+  param->SetNominalVoltage(1416,71);
+
+}