clas12root
Loading...
Searching...
No Matches
region_cdet.h
Go to the documentation of this file.
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7/*
8 * File: region_cdet.h
9 * Author: dglazier
10 *
11 * Created on April 27, 2017, 10:01 AM
12 */
13
14#ifndef REGION_CDET_H
15#define REGION_CDET_H
16
17#include "clas12defs.h"
18#include "region_particle.h"
19
20
21namespace clas12 {
22
23
25
26
27 public:
28
29 // region_cdet(par_ptr pars,covmat_ptr cm, scint_ptr scp,
30 // trck_ptr trp,traj_ptr trj);
31 region_cdet(par_ptr pars,ftbpar_ptr ftbpars,covmat_ptr cm, cal_ptr calp, scint_ptr scp,
33 rich_ptr rich,mcpar_ptr mcp=nullptr);
34 ~region_cdet() override=default;
35
36
37 bool sort() final;
38
39 scint_ptr sci(ushort lay) const final;
40 traj_ptr traj(ushort det,ushort layer=0) const final;
41 trck_ptr trk(ushort lay) const final{_trck->setIndex(_ptrck);return _trck;};
42 utrck_ptr utrk(ushort lay) const final{_utrck->setIndex(_ptrck);return _utrck;};
43
44
45
46 double getTime() const final{
47 if(_ptof>-1){
48 _scint->setIndex(_ptof);
49 return _scint->getTime();
50 }
51 _scint->setIndex(_pcnd);
52 return _scint->getTime();
53
54 }
55 double getPath() const final{
56 if(_ptof>-1){
57 _scint->setIndex(_ptof);
58 return _scint->getPath();
59 }
60 _scint->setIndex(_pcnd);
61 return _scint->getPath();
62 }
63
64 double getDetEnergy() const final{
65 //sum of cnd layers
66 _scint->setIndex(_pcnd1);
67 double energy=_scint->getEnergy();
68 _scint->setIndex(_pcnd2);
69 energy+=_scint->getEnergy();
70 _scint->setIndex(_pcnd3);
71 energy+=_scint->getEnergy();
72 return energy;
73 }
74
75 double getDeltaEnergy() const final{
76 _scint->setIndex(_ptof);
77 return _scint->getEnergy();
78 }
79
80 short getSector() const final{
81 return 0;
82 }
83
84
85 private:
86
87
88
89 //scintillator indices
90 short _pcnd=-1;
91 short _pcnd1=-1;
92 short _pcnd2=-1;
93 short _pcnd3=-1;
94 short _ptof=-1;
95 //track index
96 short _ptrck=-1;
97
98
99
100 };
101
103 using region_cdet_uptr=std::unique_ptr<clas12::region_cdet>;
104
105}
106
107#endif /* REGION_CDET_H */
Definition region_cdet.h:24
double getPath() const final
Definition region_cdet.h:55
traj_ptr traj(ushort det, ushort layer=0) const final
Definition region_cdet.cpp:84
scint_ptr sci(ushort lay) const final
Definition region_cdet.cpp:65
double getTime() const final
Definition region_cdet.h:46
bool sort() final
Definition region_cdet.cpp:30
region_cdet(par_ptr pars, ftbpar_ptr ftbpars, covmat_ptr cm, cal_ptr calp, scint_ptr scp, trck_ptr trp, utrck_ptr utrp, traj_ptr trj, cher_ptr chp, ft_ptr ftp, event_ptr event, rich_ptr rich, mcpar_ptr mcp=nullptr)
constructor used for stand-alone
Definition region_cdet.cpp:21
~region_cdet() override=default
double getDetEnergy() const final
Definition region_cdet.h:64
short getSector() const final
Definition region_cdet.h:80
double getDeltaEnergy() const final
Definition region_cdet.h:75
trck_ptr trk(ushort lay) const final
Definition region_cdet.h:41
utrck_ptr utrk(ushort lay) const final
Definition region_cdet.h:42
event_ptr event() const
Definition region_particle.h:109
utrck_ptr _utrck
Definition region_particle.h:193
scint_ptr _scint
Definition region_particle.h:191
trck_ptr _trck
Definition region_particle.h:192
virtual rich_ptr rich() const
Definition region_particle.h:119
Definition calextras.cpp:10
clas12::calorimeter * cal_ptr
Definition calorimeter.h:225
clas12::rich * rich_ptr
Definition rich.h:255
clas12::region_cdet * region_cdet_ptr
Definition region_cdet.h:102
clas12::cherenkov * cher_ptr
Definition cherenkov.h:99
clas12::particle * par_ptr
Definition particle.h:118
clas12::ftbparticle * ftbpar_ptr
Definition ftbparticle.h:87
clas12::traj * traj_ptr
Definition traj.h:93
clas12::mcparticle * mcpar_ptr
Definition mcparticle.h:144
std::unique_ptr< clas12::region_cdet > region_cdet_uptr
Definition region_cdet.h:103
clas12::covmatrix * covmat_ptr
Definition covmatrix.h:87
clas12::utracker * utrck_ptr
Definition utracker.h:103
clas12::forwardtagger * ft_ptr
Definition forwardtagger.h:115
clas12::event * event_ptr
Definition event.h:74
clas12::scintillator * scint_ptr
Definition scintillator.h:133
clas12::tracker * trck_ptr
Definition tracker.h:73