BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnTOF1.h
Go to the documentation of this file.
1#ifndef __BMNTOF1_H
2#define __BMNTOF1_H 1
3
4#include "BmnTOF1Geo.h"
5#include "BmnTOF1GeoPar.h"
6#include "BmnTOF1Point.h"
7#include "CbmStack.h"
8#include "FairDetector.h"
9#include "FairGeoInterface.h"
10#include "FairGeoLoader.h"
11#include "FairGeoNode.h"
12#include "FairLogger.h"
13#include "FairRootManager.h"
14#include "FairRun.h"
15#include "FairRuntimeDb.h"
16#include "FairVolume.h"
17#include "TClonesArray.h"
18#include "TLorentzVector.h"
19#include "TVector3.h"
20
21#include <TObjArray.h>
22#include <TVirtualMC.h>
23#include <assert.h>
24#include <iostream>
25#include <string>
26
27class BmnTOF1 : public FairDetector
28{
29 public:
31 BmnTOF1(const char* name, Bool_t active);
32 virtual ~BmnTOF1();
33
34 virtual void Initialize();
35 virtual Bool_t ProcessHits(FairVolume* vol = nullptr);
36 virtual void EndOfEvent();
37 virtual void BeginEvent();
38 virtual void Register();
39 virtual TClonesArray* GetCollection(Int_t iColl) const;
40 virtual void Print(Option_t*) const;
41 virtual void Reset();
42 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
43 virtual void ConstructGeometry();
44 virtual void ConstructAsciiGeometry();
45 virtual Bool_t CheckIfSensitive(std::string name);
46
48 Int_t detID,
49 TVector3 pos,
50 TVector3 mom,
51 Double_t tof,
52 Double_t length,
53 Double_t eLoss,
54 Int_t volUID);
55
56 private:
57 TLorentzVector fPos; //! position
58 TLorentzVector fMom; //! momentum
59 Double32_t fTime; //! time
60 Double32_t fLength; //! length
61 Double32_t fELoss; //! energy loss
62 Int_t fPosIndex; //!
63 const double nan; //! KG: nan is set to -10 000 000, but i think it should be 0
64
65 TClonesArray* fTofCollection; //! Hit collection
66
67 // reset all parameters
69 BmnTOF1(const BmnTOF1&) = delete;
70 BmnTOF1 operator=(const BmnTOF1&) = delete;
71
73};
74
75inline void BmnTOF1::ResetParameters()
76{
79 fTime = fLength = fELoss = nan;
80 fPosIndex = 0;
81}
82
83#endif
bool Bool_t
int Int_t
double Double32_t
double Double_t
const char Option_t
#define ClassDef(name, id)
TClonesArray * fTofCollection
KG: nan is set to -10 000 000, but i think it should be 0.
Definition BmnTOF1.h:65
Double32_t fELoss
length
Definition BmnTOF1.h:61
Double32_t fTime
momentum
Definition BmnTOF1.h:59
virtual void ConstructGeometry()
Double32_t fLength
time
Definition BmnTOF1.h:60
virtual void Print(Option_t *) const
BmnTOF1(const char *name, Bool_t active)
virtual TClonesArray * GetCollection(Int_t iColl) const
TLorentzVector fMom
position
Definition BmnTOF1.h:58
virtual Bool_t ProcessHits(FairVolume *vol=nullptr)
virtual void ConstructAsciiGeometry()
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
virtual void BeginEvent()
virtual Bool_t CheckIfSensitive(std::string name)
BmnTOF1 operator=(const BmnTOF1 &)=delete
const double nan
Definition BmnTOF1.h:63
BmnTOF1(const BmnTOF1 &)=delete
virtual void Register()
virtual void EndOfEvent()
TLorentzVector fPos
Definition BmnTOF1.h:57
void ResetParameters()
Hit collection.
BmnTOF1Point * AddPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Int_t volUID)
virtual void Reset()
virtual void Initialize()
Int_t fPosIndex
energy loss
Definition BmnTOF1.h:62
virtual ~BmnTOF1()
void SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)