6#include "FairDetector.h"
13#include "TLorentzVector.h"
19class Scifi :
public FairDetector
22 Scifi(
const char* name, Bool_t Active,
const char* Title =
"Scifi");
31 void GetPosition(Int_t
id, TVector3& vLeft, TVector3& vRight);
37 Double_t
ycross(Double_t a,Double_t R,Double_t x);
39 Double_t
fraction(Double_t R,Double_t x,Double_t y);
40 Double_t
area(Double_t a,Double_t R,Double_t xL,Double_t xR);
75 TVector3 pos, TVector3 mom,
76 Double_t time, Double_t length,
77 Double_t eLoss, Int_t pdgCode);
83 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
112 std::map<Int_t,std::map<Int_t,std::array<
float, 2>>>
fibresSiPM;
113 std::map<Int_t,std::map<Int_t,std::array<
float, 2>>>
siPMFibres;
TVector3 GetLocalPos(Int_t id, TVector3 *glob)
Double32_t fTime
momentum at entrance
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
std::map< Int_t, float > SiPMPos
inverse mapping
std::map< Int_t, float > GetSiPMPos()
ScifiPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode)
virtual void BeginEvent()
void GetSiPMPosition(Int_t SiPMChan, TVector3 &A, TVector3 &B)
TString last_time_alignment_tag
void SetConfPar(TString name, Int_t value)
virtual void EndOfEvent()
virtual TClonesArray * GetCollection(Int_t iColl) const
std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > siPMFibres
mapping of fibres to SiPM channels
std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > GetFibresMap()
virtual Bool_t ProcessHits(FairVolume *v=0)
virtual void SetSpecialPhysicsCuts()
std::vector< int > covered_runs_position_alignment
void GetPosition(Int_t id, TVector3 &vLeft, TVector3 &vRight)
void SetConfPar(TString name, Float_t value)
std::map< TString, Int_t > conf_ints
std::map< TString, Float_t > conf_floats
void InitEvent(SNDLHCEventHeader *e)
TClonesArray * fScifiPointCollection
local SiPM channel position
Double_t ycross(Double_t a, Double_t R, Double_t x)
Double_t integralSqrt(Double_t ynorm)
void SetConfPar(TString name, TString value)
TString GetConfParS(TString name)
virtual void Initialize()
std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > fibresSiPM
energy loss
Double_t fraction(Double_t R, Double_t x, Double_t y)
virtual void SiPMOverlap()
Float_t GetConfParF(TString name)
std::map< TString, TString > conf_strings
Int_t InitMedium(const char *name)
Int_t GetConfParI(TString name)
Scifi & operator=(const Scifi &)
std::vector< int > covered_runs_time_alignment
TString last_position_alignment_tag
TLorentzVector fPos
volume id
std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > GetSiPMmap()
Double_t GetCorrectedTime(Int_t fDetectorID, Double_t rawTime, Double_t L)
virtual void FinishPrimary()
virtual void BeginPrimary()
ClassDef(Scifi, 3) private Int_t fVolumeID
track index
TLorentzVector fMom
position at entrance
SNDLHCEventHeader * eventHeader
Double_t area(Double_t a, Double_t R, Double_t xL, Double_t xR)