// Translation from MCM to Pad and vice versa
virtual Int_t GetPadRowFromMCM(Int_t irob, Int_t imcm) const;
virtual Int_t GetPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const;
+ virtual Int_t GetExtendedPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const;
virtual Int_t GetMCMfromPad(Int_t irow, Int_t icol) const;
+ virtual Int_t GetMCMfromSharedPad(Int_t irow, Int_t icol) const;
virtual Int_t GetROBfromPad(Int_t irow, Int_t icol) const;
+ virtual Int_t GetROBfromSharedPad(Int_t irow, Int_t icol) const;
virtual Int_t GetRobSide(Int_t irob) const;
virtual Int_t GetColSide(Int_t icol) const;
static Int_t GetPFtimeConstant() { return fgkPFtimeConstant; }
static Int_t GetPFeffectPedestal() { return fgkPFeffectPedestal; }
+ //new
+ static Int_t GetQacc0Start() { return fgkPREPqAcc0Start; }
+ static Int_t GetQacc0End() { return fgkPREPqAcc0End; }
+ static Int_t GetQacc1Start() { return fgkPREPqAcc1Start; }
+ static Int_t GetQacc1End() { return fgkPREPqAcc1End; }
+ Float_t GetMinClusterCharge() const { return fgkMinClusterCharge; }
+ static Int_t GetLinearFitStart() { return fgkPREPLinearFitStart; }
+ static Int_t GetLinearFitEnd() { return fgkPREPLinearFitEnd; }
+
// Float_t GetClusThr() { return fClusThr; };
// Float_t GetPadThr() const { return fPadThr; };
// Int_t GetTailCancelation() const { return fTCOn; };
// Int_t GetFilterType() const { return fFilterType; };
static Int_t GetTFtype() { return fgkTFtype; }
- static Int_t GetTFnExp() { return fgkTFnExp; }
+ //static Int_t GetTFnExp() { return fgkTFnExp; }
+ Int_t GetTFnExp() const { return fTFnExp; }
Float_t GetTFr1() const { return fTFr1; }
Float_t GetTFr2() const { return fTFr2; }
Float_t GetTFc1() const { return fTFc1; }
Float_t GetTFc2() const { return fTFc2; }
+ // for tracklets
+ Bool_t GetTracklet() const { return fgTracklet; }
+ static void SetTracklet(Bool_t trackletSim = kTRUE) { fgTracklet = trackletSim; }
+ Int_t GetMaxNrOfTracklets() const { return fgkMaxNrOfTracklets; }
+ Bool_t GetMCTrackletOutput() const { return fgkMCTrackletOutput; }
+
static Float_t GetTFattPar() { return ((Float_t) fgkTFattPar1) / ((Float_t) fgkTFattPar2); }
Float_t GetTFf0() const { return 1.0 + fgkTFon*(-1.0+GetTFattPar()); } // 1 if TC off
Bool_t GetRAWstoreRaw() const { return fRAWstoreRaw; }
void SetRAWstoreRaw( Bool_t storeraw ) { fRAWstoreRaw = storeraw; }
+ void SetXenon();
+ void SetArgon();
+
protected:
static AliTRDfeeParam *fgInstance; // Singleton instance
static const Int_t fgkGFnoise = 0; // Noise level increased by gain filter x 100 [in ADC] (to be measured)
// TF setup
- static const Int_t fgkTFtype = 1; // TC type (0=analog, 1=digital, 2=MI) (old name fFilterType)
+ static const Int_t fgkTFtype = 1; // TC type (0=analog, 1=digital, 2=MI, 3=close to electronics) (old name fFilterType)
// OLD TF setup (calculated from above) (valid only for fgkTFsimType = 0 or 1)
- static const Int_t fgkTFnExp = 1; // Number of exponential for simType 0 and 1
+ //static const Int_t fgkTFnExp = 1; // Number of exponential for simType 0 and 1
+ Int_t fTFnExp; // Number of exponential for simType 0 and 1
+
+ // Tracklet processing on/off
+ static Bool_t fgTracklet; // tracklet processing
+
+ static const Int_t fgkMaxNrOfTracklets = 4; // Max. nr of tracklet words for one mcm
+
+ // additional tracklet folder structure output,
+ // containing all necessary Monte Carlo information; maybe this should go somewhere else;
+ static const Bool_t fgkMCTrackletOutput = kTRUE; // Default should be kTRUE
// following need Instance because initialized in constructor
Float_t fTFr1; // Time constant [us] long (old name fR1)
Int_t fEBignoreNeighbour; // EBIN 0:include neighbor
// Charge accumulators
- static const Int_t fgkPREPqAcc0Start = 0; // Preprocessor Charge Accumulator 0 Start
+ static const Int_t fgkPREPqAcc0Start = 5; // Preprocessor Charge Accumulator 0 Start
static const Int_t fgkPREPqAcc0End = 10; // Preprocessor Charge Accumulator 0 End
static const Int_t fgkPREPqAcc1Start = 11; // Preprocessor Charge Accumulator 1 Start
static const Int_t fgkPREPqAcc1End = 20; // Preprocessor Charge Accumulator 1 End
static const Int_t fgkMinClusterCharge = 20; // Hit detection [in ADC units]
+ //new
+ static const Int_t fgkPREPLinearFitStart = 5; // Time constants for linear fit
+ static const Int_t fgkPREPLinearFitEnd = 20; // Time constants for linear fit
+
// OLD TRAP processing parameters calculated from above
//static const Float_t fClusThr; // Cluster threshold
//static const Float_t fPadThr; // Pad threshold
AliTRDfeeParam();
- ClassDef(AliTRDfeeParam,2) // The TRD front end electronics parameter
+ ClassDef(AliTRDfeeParam,3) // The TRD front end electronics parameter
};
#endif
+