#include <iostream.h>
#include <TMath.h>
+#include <TString.h>
#include "AliITSetfSDD.h"
////////////////////////////////////////////////////////////////////////
return power;
}
-AliITSetfSDD::AliITSetfSDD(Double_t timestep)
+AliITSetfSDD::AliITSetfSDD(Double_t timestep, Int_t amplif)
{
// sampling time in ns
+ fTimeDelay = 53.5;
+ if(amplif == 2) fTimeDelay = 35.5;
fSamplingTime = timestep;
fT0 = 0.;
fDf = ppower(10,9)/(kMaxNofSamples*fSamplingTime);
- fA0 = 9000.;
+ fA0 = 16500.; // AL: 16500.; // TB: 24000.; // 26000.; // 24000.; // 18000.;
+ if(amplif == 2) fA0 = 24000.;
+ cout << "fA0: " << fA0 << endl;
+ cout << "fTimeDelay: " << fTimeDelay << endl;
Int_t i,j;
for(i=0; i<kMaxNofPoles; i++) {
fZeroM[i] = 0.;
fPoleR[i] = 0.;
fPoleI[i] = 0.;
}
+ // Alice
+
fPoleM[0] = 1.;
- fPoleR[0] = -2100000.;
- fPoleI[0] = fPoleR[0];
+ fPoleR[0] = -4140000.; // AL: -4140000.; // TB: -3000000.; // -3750000.; // -3500000; // -3000000.;
+ fPoleI[0] = 0.; // AL: 0.; // TB: 4000000.; // 3750000.; // 3500000.; // 3000000.;
+ if(amplif == 2) {
+ fPoleR[0] = -3000000.;
+ fPoleI[0] = 4000000.;
+ }
fPoleM[1] = 1.;
- fPoleR[1] = -2100000.;
- fPoleI[1] = -fPoleR[1];
+ fPoleR[1] = fPoleR[0];
+ fPoleI[1] = -fPoleI[0];
- // Compute Transfer Function
+ // Compute Transfer Function
Double_t PI = acos(-1.);
for(i=0; i<=kMaxNofSamples/2; i++) {
void AliITSetfSDD::PrintElectronics()
{
+ cout << "Time Delay " << fTimeDelay << endl;
cout << "Sampling Time " << fSamplingTime << endl;
cout << "Number of Time Samples " << kMaxNofSamples << endl;
cout << "fT0 " << fT0 << endl;
static const Int_t kMaxNofPoles = 5;
static const Int_t kMaxNofSamples = 1024;
+class TString;
+
class AliITSetfSDD : public TObject {
////////////////////////////////////////////////////////////////////////
public:
AliITSetfSDD() {}; // default constructor
- AliITSetfSDD(Double_t timestep);
+ AliITSetfSDD(Double_t timestep, Int_t amplif);
~AliITSetfSDD() {;}
Double_t GetWeightReal(Int_t n) { return fWR[n]; }
Double_t GetWeightImag(Int_t n) { return fWI[n]; }
Double_t GetTraFunReal(Int_t n) { return fTfR[n]; }
Double_t GetTraFunImag(Int_t n) { return fTfI[n]; }
Int_t GetSamples() { return kMaxNofSamples; }
+ Float_t GetTimeDelay() { return fTimeDelay; }
void PrintElectronics(); // Print Electronics parameters
private:
-
+ Float_t fTimeDelay; // Time delay caused by the amplifier shaping
Double_t fSamplingTime; //
Double_t fT0; //
Double_t fDf; //