SND@LHC Software
Loading...
Searching...
No Matches
DriftTubePoint.h
Go to the documentation of this file.
1#ifndef SHIPLHC_DRIFTTUBEPOINT_H_
2#define SHIPLHC_DRIFTTUBEPOINT_H_
3
4#include "FairMCPoint.h"
5
6#include "TObject.h"
7#include "TVector3.h"
8
9class DriftTubePoint : public FairMCPoint {
10
11public:
14
24 DriftTubePoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss,
25 Int_t pdgcode);
26
28 virtual ~DriftTubePoint();
29
31 virtual void Print(const Option_t *opt) const;
32 Int_t PdgCode() const { return fPdgCode; }
33
34 /* STLCC
35 First digit S: system # within the muon filter part of the detector
36 Second digit T: type of the plane: 0-horizontal plane, 1-vertical plane
37 Third digit L: determines the layer number (in Z direction)
38 Last two digits CC: cell number
39 */
40
41 Int_t GetSystem() { return floor(fDetectorID / 10000); }
42 Int_t GetStation() { return 1; } // do we need such a method? FIXME
43 Int_t GetPlane() { return int(fDetectorID / 1000) % 10; }
44 Int_t GetLayer() { return int(fDetectorID % 1000) / 100; }
45 Int_t GetCell() { return int(fDetectorID % 100); }
46 bool isVertical() { return GetPlane() == 1; }
47
48private:
50 Int_t fPdgCode;
53
54 ClassDef(DriftTubePoint, 1)
55};
56
57#endif // SHIPLHC_DRIFTTUBEPOINT_H_
virtual void Print(const Option_t *opt) const
DriftTubePoint operator=(const DriftTubePoint &point)
DriftTubePoint(const DriftTubePoint &point)
Int_t PdgCode() const
virtual ~DriftTubePoint()