BmnRoot
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
47 BmnTOF1Point* AddPoint(Int_t trackID,
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;
58 TLorentzVector fMom;
59 Double32_t fTime;
60 Double32_t fLength;
61 Double32_t fELoss;
62 Int_t fPosIndex;
63 const double nan;
64
65 TClonesArray* fTofCollection;
66
67 // reset all parameters
68 void ResetParameters();
69 BmnTOF1(const BmnTOF1&) = delete;
70 BmnTOF1 operator=(const BmnTOF1&) = delete;
71
72 ClassDef(BmnTOF1, 3)
73};
74
75inline void BmnTOF1::ResetParameters()
76{
77 fPos.SetXYZM(nan, nan, nan, nan);
78 fMom.SetXYZM(nan, nan, nan, nan);
79 fTime = fLength = fELoss = nan;
80 fPosIndex = 0;
81}
82
83#endif
virtual void ConstructGeometry()
virtual void Print(Option_t *) const
BmnTOF1(const char *name, Bool_t active)
virtual TClonesArray * GetCollection(Int_t iColl) const
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)
virtual void Register()
virtual void EndOfEvent()
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()
virtual ~BmnTOF1()