ATLAS Offline Software
ShapeCreator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SHAPECREATOR_H
6 #define SHAPECREATOR_H
7 
8 class TLine;
9 class TArc;
10 class TBox;
11 class TArrow;
12 class TPolyLine;
13 class TText;
14 class TEllipse;
15 
16 //namespace CLHEP {
17 //class Hep3Vector;
18 //}
19 
20 class TVector3;
21 
22 class ShapeCreator {
23 public:
24 
25  ShapeCreator();
26  void setProjection(int p);
27 // void setProjection(int p, double parameter = 1.);
28  TLine* createLine(const TVector3& pos, const TVector3& dir, double length);
29  TLine* createLine(const TVector3& pos1, const TVector3& pos2);
30  TLine* createOrthogonalLine(const TVector3& pos, const TVector3& dir, double length);
31  TArrow* createArrow(const TVector3& pos, const TVector3& dir, double length);
32  TPolyLine* createTriangle(const TVector3& pos, const TVector3& dir, double length);
33 
34  TArc* createArc(const TVector3& pos, double r);
35  TBox* createBox(const TVector3& upperleft, const TVector3& lowerright);
36  TText* createText(const TVector3& pos, const char* text);
37  TEllipse* createEllipse(const TVector3& pos, double r1, double r2);
38 private:
39  void applyProjection(const TVector3& pos, double& x1, double& x2);
40  void applyDirectionProjectionUnit(const TVector3& dir, double& x1, double& x2, const TVector3& pos);
42  //double m_parameter;
43 };
44 
45 
46 
47 
48 #endif
ShapeCreator::createEllipse
TEllipse * createEllipse(const TVector3 &pos, double r1, double r2)
Definition: ShapeCreator.cxx:201
beamspotman.r
def r
Definition: beamspotman.py:676
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
ShapeCreator::applyDirectionProjectionUnit
void applyDirectionProjectionUnit(const TVector3 &dir, double &x1, double &x2, const TVector3 &pos)
Definition: ShapeCreator.cxx:53
ShapeCreator::createArc
TArc * createArc(const TVector3 &pos, double r)
Definition: ShapeCreator.cxx:175
ShapeCreator::createBox
TBox * createBox(const TVector3 &upperleft, const TVector3 &lowerright)
Definition: ShapeCreator.cxx:184
ShapeCreator::createTriangle
TPolyLine * createTriangle(const TVector3 &pos, const TVector3 &dir, double length)
Definition: ShapeCreator.cxx:161
ShapeCreator::createLine
TLine * createLine(const TVector3 &pos, const TVector3 &dir, double length)
Definition: ShapeCreator.cxx:106
ShapeCreator::m_projection
int m_projection
Definition: ShapeCreator.h:41
beamspotman.dir
string dir
Definition: beamspotman.py:623
ShapeCreator::createArrow
TArrow * createArrow(const TVector3 &pos, const TVector3 &dir, double length)
Definition: ShapeCreator.cxx:149
ShapeCreator::ShapeCreator
ShapeCreator()
Definition: ShapeCreator.cxx:20
ShapeCreator::createOrthogonalLine
TLine * createOrthogonalLine(const TVector3 &pos, const TVector3 &dir, double length)
Definition: ShapeCreator.cxx:133
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
ShapeCreator::setProjection
void setProjection(int p)
Definition: ShapeCreator.cxx:95
ShapeCreator::applyProjection
void applyProjection(const TVector3 &pos, double &x1, double &x2)
Definition: ShapeCreator.cxx:25
ShapeCreator
Definition: ShapeCreator.h:22
makeTransCanvas.text
text
Definition: makeTransCanvas.py:11
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
ShapeCreator::createText
TText * createText(const TVector3 &pos, const char *text)
Definition: ShapeCreator.cxx:195