Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoWeightGeneratorLednicky2.h
1/*
2 * FemtoWeightGeneratorLednicky2.h
3 *
4 * Created on: 30 kwi 2018
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALFEMTOWEIGHTGENERATORLEDNICKY2_H_
10#define HALFEMTOWEIGHTGENERATORLEDNICKY2_H_
11
12
13#include "FemtoWeightGenerator.h"
14
15#include "FemtoConst.h"
16namespace Hal {
17 class FemtoFsiParsed;
18
20 protected:
21 FemtoFsiParsed* fParser;
25 double fWei;
29 double fWein;
33 double fWeif;
37 double fWeightDen;
41 int fItest; //
42
43 // int mNs;
47 int fIch;
51 int fIqs;
55 int fIsi;
59 int fI3c;
63 double fNuclMass;
75 bool fT0App;
76
77 // Pair identification
81 int fLL;
89 bool fSwap;
93 int const fLLMax;
97 char** fLLName;
102 // WTF? Streamer?
107
108 // Interface to the fortran functions
112 void FsiInit();
116 void FsiSetLL();
120 void FsiNucl();
124 bool SetPid(const int aPid1, const int aPid2);
130
131 public:
135 FemtoWeightGeneratorLednicky2(); // call SetDefaultCalcPar
140 FemtoWeightGeneratorLednicky2(const FemtoWeightGeneratorLednicky2& aWeight); // call SetDefaultCalcPar
141 // --- Destructor : nothing to explicitly delete
148 virtual FemtoWeightGeneratorLednicky2* MakeClone() const { return new FemtoWeightGeneratorLednicky2(*this); };
153
154 virtual Double_t GenerateWeight(FemtoPair* pair);
155
156 virtual void SetPairType(Femto::EPairType aPairType);
157 virtual void SetPairTypeFromPair(FemtoPair* pair);
158 virtual Femto::EPairType GetPairType() const;
159
160 virtual Double_t GetKStar() const;
161 virtual Double_t GetKStarOut() const;
162 virtual Double_t GetKStarSide() const;
163 virtual Double_t GetKStarLong() const;
164 virtual Double_t GetRStar() const;
165 virtual Double_t GetRStarOut() const;
166 virtual Double_t GetRStarSide() const;
167 virtual Double_t GetRStarLong() const;
168
169 virtual FemtoWeightGenerator* Clone(const char* newname = "") const;
170
171 // --- Setting
172 Bool_t Init(Int_t taks_id, FemtoPair* pair);
173 virtual Bool_t IsPairSupported(Femto::EPairType type) const;
174 // >>> Calculation mode
178 void SetDefaultCalcPar(); // Default is CoulOn, QuantumOn, StrongOn,
179 // 3BodyOff, Square, T0ApproxOff
183 void SetCoulOn();
187 void SetCoulOff();
191 void SetQuantumOn();
195 void SetQuantumOff();
199 void SetStrongOn();
203 void SetStrongOff();
207 void Set3BodyOn();
211 void Set3BodyOff();
215 void SetSphere(); // use Spherical wave approximation
220 void SetSquare();
224 void SetT0ApproxOff();
228 void SetT0ApproxOn();
232 void PrintLambdas() { ; }
237 void SetNuclCharge(const double aNuclCharge); // for 3-body calculation
242 void SetNuclMass(const double aNuclMass);
244 };
245} // namespace Hal
246#endif /* HALFEMTOWEIGHTGENERATORLEDNICKY2_H_ */
virtual Double_t GenerateWeight(FemtoPair *pair)
virtual Bool_t IsPairSupported(Femto::EPairType type) const
FemtoWeightGeneratorLednicky2 & operator=(const FemtoWeightGeneratorLednicky2 &aWeight)
virtual FemtoWeightGenerator * Clone(const char *newname="") const
virtual void SetPairTypeFromPairAndConfigureFSI(FemtoPair *pair)
Bool_t Init(Int_t taks_id, FemtoPair *pair)
bool SetPid(const int aPid1, const int aPid2)
virtual void SetPairType(Femto::EPairType aPairType)