SND@LHC Software
Loading...
Searching...
No Matches
ScifiPoint.h
Go to the documentation of this file.
1#ifndef SCIFIPOINT_H
2#define SCIFIPOINT_H 1
3
4
5#include "FairMCPoint.h"
6
7#include "TObject.h"
8#include "TVector3.h"
9
10class ScifiPoint : public FairMCPoint
11{
12
13 public:
14
16 ScifiPoint();
17
18
28 ScifiPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom,
29 Double_t tof, Double_t length, Double_t eLoss, Int_t pdgcode);
30
31
32
33
35 virtual ~ScifiPoint();
36
38 virtual void Print(const Option_t* opt) const;
39 Int_t PdgCode() const {return fPdgCode;}
40
41
42/* STMRFFF
43 First digit S: station # within the sub-detector
44 Second digit T: type of the plane: 0-horizontal fiber plane, 1-vertical fiber plane
45 Third digit M: determines the mat number
46 Fourth digit R: row number (in Z direction)
47 Last three digits F: fiber number
48*/
49 Int_t station(){return fDetectorID/1E6;}
50 Int_t orientation(){return (fDetectorID-station()*1E6)/1E5;}
51 Int_t mat(){return (fDetectorID-station()*1E6-orientation()*1E5)/1E4;}
52 Int_t row(){return (fDetectorID-station()*1E6-orientation()*1E5-mat()*1E4)/1E3;}
53 Int_t fibreN(){return fDetectorID%1000;}
54
55 private:
57 Int_t fPdgCode;
58 ScifiPoint(const ScifiPoint& point);
60
61 ClassDef(ScifiPoint,2)
62
63};
64
65#endif
ScifiPoint operator=(const ScifiPoint &point)
ScifiPoint(const ScifiPoint &point)
virtual void Print(const Option_t *opt) const
virtual ~ScifiPoint()
Int_t orientation()
Definition ScifiPoint.h:50
Int_t station()
Definition ScifiPoint.h:49
Int_t fibreN()
Definition ScifiPoint.h:53
Int_t mat()
Definition ScifiPoint.h:51
Int_t row()
Definition ScifiPoint.h:52
Int_t fPdgCode
Definition ScifiPoint.h:57
Int_t PdgCode() const
Definition ScifiPoint.h:39