BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnTOF701.h
Go to the documentation of this file.
1#ifndef __BMNTOF701_H
2#define __BMNTOF701_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 BmnTOF701 : public FairDetector
28{
29 public:
31 BmnTOF701(const char* name, Bool_t active);
32 virtual ~BmnTOF701();
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 BmnTOF701(const BmnTOF701&) = delete;
70 BmnTOF701 operator=(const BmnTOF701&) = delete;
71
73};
74
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)
virtual void Print(Option_t *) const
virtual void ConstructGeometry()
BmnTOF701 operator=(const BmnTOF701 &)=delete
Int_t fPosIndex
energy loss
Definition BmnTOF701.h:62
Double32_t fTime
momentum
Definition BmnTOF701.h:59
virtual void Initialize()
virtual void ConstructAsciiGeometry()
virtual Bool_t ProcessHits(FairVolume *vol=nullptr)
virtual void BeginEvent()
const double nan
Definition BmnTOF701.h:63
virtual void EndOfEvent()
void ResetParameters()
Hit collection.
Double32_t fELoss
length
Definition BmnTOF701.h:61
TLorentzVector fPos
Definition BmnTOF701.h:57
virtual void Register()
TLorentzVector fMom
position
Definition BmnTOF701.h:58
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 Bool_t CheckIfSensitive(std::string name)
virtual void Reset()
BmnTOF701(const BmnTOF701 &)=delete
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
TClonesArray * fTofCollection
KG: nan is set to -10 000 000, but i think it should be 0.
Definition BmnTOF701.h:65
virtual TClonesArray * GetCollection(Int_t iColl) const
Double32_t fLength
time
Definition BmnTOF701.h:60
virtual ~BmnTOF701()
BmnTOF701(const char *name, Bool_t active)
void SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)